我正在编写一个工具,该工具需要收集网页上 div 内的所有 url,但该 div 之外没有 url。简化的页面看起来像这样:
<div id="bar">
<a link I dont want>
<div id="foo">
<lots of html>
<h1 class="baz">
<a href=”link I want”>
</h1>
<h1 class="caz">
<a href=“link I want”>
</h1>
</div>
</div>
当使用 Firebug 选择 div 并选择 XPath 时,我得到://*[@id="foo"]。到目前为止,一切都很好。但是,我一直在尝试查找 div foo 中的所有 url。请帮助我找到一种方法来提取由元素中的 href 定义的 url。
类似于我正在使用 w3schools 的示例代码:
import mechanize
import lxml.html
import cookielib
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'WatcherBot')]
r = br.open('http://w3schools.com/')
html = br.response().read()
root = lxml.html.fromstring(html)
hrefs = root.xpath('//*[@id="leftcolumn"]')
# Found no solution yet. Stuck
感谢您的时间!