Tôi đang sử dụng mã này để tìm tất cả các liên kết thú vị trong một trang:BeautifulSoup - cách dễ dàng để có được nội dung HTML miễn
soup.findAll('a', href=re.compile('^notizia.php\?idn=\d+'))
Và nó công việc của mình khá tốt. Thật không may bên trong đó thẻ có rất nhiều thẻ lồng nhau, như phông chữ, b và những thứ khác ... Tôi muốn nhận nội dung văn bản mà không cần bất kỳ thẻ html nào khác.
Ví dụ về liên kết:
<A HREF="notizia.php?idn=1134" OnMouseOver="verde();" OnMouseOut="blu();"><FONT CLASS="v12"><B>03-11-2009: <font color=green>CCS Ingegneria Elettronica-Sportello studenti ed orientamento</B></FONT></A>
Tất nhiên đó là xấu xí (và đánh dấu không phải lúc nào cũng giống nhau!) Và tôi muốn để có được:
03-11-2009: CCS Ingegneria Elettronica-Sportello studenti ed orientamento
Trong tài liệu hướng dẫn nó nói để sử dụng text=True
trong phương thức findAll, nhưng nó sẽ bỏ qua regex của tôi. Tại sao? Làm thế nào tôi có thể giải quyết điều đó?
PyQuery nghe giống như một lựa chọn thực sự tuyệt vời: http://pypi.python.org/pypi/pyquery –