发生'分段错误',scrapy停止运行。
检查网站网址后,我发现它应该属于一个标签
href属性但没有值。像这样:“<a href> dummy </a>
”
我怀疑这是由lxml .so 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>)
顺便说一句,该网站被删除的是'http://mil.news.sohu.com/'
运行环境:scrapy 0.15.1和python 2.7.3,预安装openssl0.12,因为scrapy的openssl0.13默认安装不成功。
非常感谢 亚伦
答案 0 :(得分:1)
我已经解决了这个问题。这是由scx默认安装的libxml2版本2.6.26引起的。将libxml2更新为2.7.4,已解决。
答案 1 :(得分:0)
他们要么重新引入了这个bug,要么还有另外一个导致这个问题的事情:
me:~$ scrapy version -v
Scrapy : 0.16.3
lxml : 3.0.2.0
libxml2 : 2.7.8
Twisted : 12.0.0