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

时间:2023-03-09 07:48:46
Xpath在选择器中正确,在代码中返回的是空列表问题

一、问题:

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

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

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

二、原因:

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

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

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

三、解决办法:

1.因此解决办法便是删除掉tbody这个标签元素,因为它含有一个id的属性,所以不能使用这个属性。
Xpath在选择器中正确,在代码中返回的是空列表问题

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

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

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

四、参考:

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