Tôi hiện đang cố gắng xóa một trang web có HTML có định dạng kém (thường thiếu thẻ đóng, không sử dụng các lớp hoặc id nên rất khó để chuyển thẳng đến phần tử bạn muốn, v.v.). Tôi đã sử dụng BeautifulSoup với một số thành công cho đến nay nhưng mỗi một lần và một thời gian (mặc dù khá hiếm khi), tôi chạy vào một trang mà BeautifulSoup tạo cây HTML hơi khác một chút (ví dụ) Firefox hoặc Webkit. Trong khi điều này là dễ hiểu vì định dạng của HTML lá này mơ hồ, nếu tôi đã có thể nhận được cùng một cây phân tích như Firefox hoặc Webkit sản xuất tôi sẽ có thể phân tích cú pháp dễ dàng hơn nhiều. Các sự cố thường giống như trang web mở một thẻ <b>
hai lần và khi BeautifulSoup thấy thẻ thứ hai <b>
, nó ngay lập tức đóng thẻ đầu tiên trong khi Firefox và Webkit giữ các thẻ <b>
.Dò web bằng Python
Có thư viện cào web cho Python (hoặc thậm chí bất kỳ ngôn ngữ nào khác (tôi đang tuyệt vọng)) có thể tạo lại cây phân tích được tạo bởi Firefox hoặc WebKit (hoặc ít nhất là gần hơn so với BeautifulSoup trong trường hợp không rõ ràng) .
Tại sao không sử dụng webkit bản thân? Webkit là mã nguồn mở. Có, nó sẽ mất một ít thời gian để làm quen. –
Bạn đã nói với nhóm beautifulsoup chưa? Họ có thể quan tâm đến các góc như của bạn http://groups.google.com/group/beautifulsoup –
Đã hỏi rất nhiều lần ... –