Xpath在选择器中正确,在代码中返回的是空列表问题


一、问题:

在进行爬虫的时候我们会用到xpath解析html文件,但是会有一种情况就是在xpath选择器中可以使用,但是在代码中就无法使用的情况。

 

二、原因:

1.是元素中有tbody的原因,这个元素是html生成时产生的,在使用xpath解析的时候无法解析,因此返回的列表为空值。

 

2.是因为没有写入获取的内容。比如在xpath选择其中可以使用但是在解析中没有带入//text()

 

三、解决办法:

1.因此解决办法便是删除掉tbody这个标签元素,因为它含有一个id的属性,所以不能使用这个属性。

 

2.解析中带上//text()

1         content_text = ''.join(content.xpath('*//article[@class]/p[position()>2]//text()')).replace('\n', '').replace(' ', '')
2         time_ = ''.join(content.xpath('//*[@id="news-time"]//text()'))
3         origin = ''.join(content.xpath('//*[@id="user-info"]/h4/a//text()'))

 

 四、参考:

https://blog.csdn.net/SL_World/article/details/84893957


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM