Python 刮痧';s HTMLX路径选择器原因';分段错误';解析html页面时
发生“分段故障”,scrapy停止运行。 在检查网站url后,我发现它应该属于一个带有 href属性,但没有值。像这样:“Python 刮痧';s HTMLX路径选择器原因';分段错误';解析html页面时,python,scrapy,Python,Scrapy,发生“分段故障”,scrapy停止运行。 在检查网站url后,我发现它应该属于一个带有 href属性,但没有值。像这样:“” 我怀疑这是由lxml引起的。那么lib,如何处理呢?在 至少要防止卡盘停止问题。 我的代码片段: hxs = HtmlXPathSelector(response) sites = hxs.select('//a') for site in sites: list_title= site.select('text()').extract() list_link
”
我怀疑这是由lxml引起的。那么lib,如何处理呢?在
至少要防止卡盘停止问题。
我的代码片段:
hxs = HtmlXPathSelector(response)
sites = hxs.select('//a')
for site in sites:
list_title= site.select('text()').extract()
list_link = site.select('./@href').extract() #????(crash here when parsing <a href></a>)
hxs=htmlxpath选择器(响应)
sites=hxs.select('//a')
对于站点中的站点:
list_title=site.select('text()').extract()
list_link=site.select('./@href').extract()#?(解析时在此崩溃)
顺便说一句,网站被刮了'http://mil.news.sohu.com/'
运行环境:scrapy 0.15.1和python 2.7.3,预安装openssl0.12,因为scrapy的openssl0.13默认值没有成功安装
非常感谢
亚伦我已经解决了这个问题。这是由scrapy默认安装的libxml2版本2.6.26引起的。将libxml2更新为2.7.4,已解决。我已解决此问题。这是由scrapy默认安装的libxml2版本2.6.26引起的。将libxml2更新为2.7.4,已解决。要么他们重新引入了该错误,要么肯定是其他原因导致了该错误:
me:~$ scrapy version -v
Scrapy : 0.16.3
lxml : 3.0.2.0
libxml2 : 2.7.8
Twisted : 12.0.0
要么是他们重新引入了这个bug,要么是另一个原因导致了这个问题:
me:~$ scrapy version -v
Scrapy : 0.16.3
lxml : 3.0.2.0
libxml2 : 2.7.8
Twisted : 12.0.0
href的正确XPath可能是
@href
?@href和./@href都适用于格式良好的HTML。你能在你的机器上测试一下吗?href的正确XPath可能是@href
?@href和./@href都适用于格式良好的HTML。你能在你的机器上测试一下吗?