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 № 1Ostatnio 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/