7

Tôi muốn xóa một bảng khỏi web và giữ & nbsp; thực thể còn nguyên vẹn để tôi có thể xuất bản lại dưới dạng HTML sau. BeautifulSoup dường như chuyển đổi chúng thành không gian. Ví dụ:Cạo bằng cách sử dụng bảo quản Súp tuyệt đẹp   pháp nhân

from bs4 import BeautifulSoup 

html = "<html><body><table><tr>" 
html += "<td>&nbsp;hello&nbsp;</td>" 
html += "</tr></table></body></html>" 

soup = BeautifulSoup(html) 
table = soup.find_all('table')[0] 
row = table.find_all('tr')[0] 
cell = row.find_all('td')[0] 

print cell 

quan sát kết quả:

<td> hello </td> 

cần kết quả:

<td>&nbsp;hello&nbsp;</td> 

Trả lời

5

Trong BS4 convertEntities tham số để BeautifulSoup constructor không được hỗ trợ nữa. Các thực thể HTML luôn được chuyển đổi thành các ký tự Unicode tương ứng (xem docs).

Theo tài liệu, bạn cần phải sử dụng một định dạng đầu ra, như thế này:

print soup.find_all('td')[0].prettify(formatter="html") 
+0

Cảm ơn cho câu trả lời :) –

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