我试图使用lxml和mechanize来废弃一个网站,但我得到了一个错误:
AttributeError:“NoneType”对象没有属性“xpath”
经过一番检查,我发现html
没有返回任何结果。在
有趣的是,这段代码可以在其他网站上运行,只是无法运行这个特定的网站(http://www.selangortimes.com)
url = 'http://www.selangortimes.com'
br = mechanize.Browser()
br.set_handle_robots(False)
br.set_handle_refresh(False)
br.addheaders = [('User-Agent', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)')]
br.open(url)
resp = br.response()
html = lxml.html.parse(resp).getroot()
link_targets = [link.attrib.get('href') for link in html.xpath(expr)]
感谢您的帮助:)
更新: 使用上述代码的工作网站示例-http://www.themalaysianinsider.com
下面是您发布的代码的稍微修订版本,使用lxml2.3.6和mechanize0.2.5生成一个列表,其中列出了
<a>
元素中位于http://www.selangortimes.com
url的所有href
属性。注意关于您最近的评论,您必须import lxml.html
。在相关问题 更多 >
编程相关推荐