一、问题:

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

1340584-20190301190128792-1651449938.png

1340584-20190301190208960-1393244195.png

二、原因:

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

1340584-20190301190247024-110407793.png

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

三、解决办法:

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

1340584-20190301190530355-1091414680.png

1340584-20190301190646315-1014057923.png

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()'))

四、参考:

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐