世界杯刚过,想从世界杯贴吧爬取一些图片,用requests库,发现当设置User-Agent时,li标签用xpath提取不到,div标签只能提取到部分,并且发现当不设置User-Agent时就能正常提取到
所用的User-Agnet为谷歌浏览器:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
尝试着修改为IE浏览器的User-Agnet:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;
也能正常提取元素
分析爬取的网页内容,发现使用谷歌浏览器的UA时,html标签被放在了注释里面,而使用IE的UA时,html标签正常
原因找到了,xpath把html注释当作一个结点,所以提取不到其中的li和div
解决办法:使用IE的UA