一、问题:

在进行爬虫的时候我们会用到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

 

posted on 2019-03-01 19:10  蔚蓝色の天空  阅读(10324)  评论(0编辑  收藏  举报