/ / Mechanize: Śledź odnośniki wewnątrz div - python, html, mechanize

Mechanize: Śledź odnośniki wewnątrz div - python, html, mechanize

Jaki jest najbardziej podpowiedziany sposób na podążanie za linkami Mechanize (br.follow_link), które znajdują się wewnątrz pewnego div? Wiem, jak to zrobić z odrobiną pomocy ze strony BeautifulSoup, ale czy jest jakiś sposób na zrobienie tego z Mechanize?

Próbka div:

<div id="blah_links">
<a href="LINK1" class="active">1</a> |
<a href="LINK2">2</a> |
<a href="LINK3">3</a> |
<a href="LINK4">NEXT</a>
</div>

Odpowiedzi:

1 dla odpowiedzi № 1

Ostatnio wpadłem na podobny problem i oto, co zrobiłem

url = "www.somewhere.com"
br = mechanize.Browser()
br.open(url)

encoded_data = UnicodeDammit(br.response().read(),isHTML=True).unicode
parser = lxml_html.fromstring(encoded_data)

soup_xpath = "//div[@id="BODYCON"]//a/@href"
valid_links = soup.xpath(soup_xpath)
links  = [ link for link if link.url in valid_links ]

-1 dla odpowiedzi № 2

Tutaj możesz znaleźć rozwiązanie tego pytania:

http://wwwsearch.sourceforge.net/mechanize/