2010-10-06 57 views
7

Tôi có một kịch bản đơn giản nơi tôi đang tìm nạp một trang HTML, chuyển nó đến BeautifulSoup để xóa tất cả các thẻ kiểu và tập lệnh, sau đó tôi muốn chuyển kết quả HTML sang một phương thức khác. Có cách nào làm dễ hơn không? Skimming the BeautifulSoup.py, tôi chưa thấy nó.Nhận html bị tước các tập lệnh và thẻ kiểu với BeautifulSoup?

soup = BeautifulSoup(html) 
for script in soup("script"): 
    soup.script.extract() 

for style in soup("style"): 
    soup.style.extract() 
contents = soup.html.contents 
text = loader.extract_text(contents) 

contents = soup.html.contents vừa nhận được danh sách và mọi thứ được xác định trong lớp ở đó. Có phương pháp nào trả về html thô sau khi canh tác nó không? Hay tôi chỉ cần duyệt qua danh sách contents và ghép lại đoạn mã html lại với nhau, trừ các thẻ kiểu & của tập lệnh?

Hoặc có giải pháp nào tốt hơn để thực hiện những gì tôi muốn không?

Trả lời

8

unicode(soup) cung cấp cho bạn html.

for elem in soup.findAll(['script', 'style']): 
    elem.extract() 
+0

Hah:

Ngoài ra những gì bạn muốn điều này là. Quá dễ. cảm ơn! – Nathan

+0

sopaa đẹp – Yarin

Các vấn đề liên quan