欲爬取网页链接
scrapy爬虫爬取该页面时的响应如下:

而此时,测试使用requests.get获得网页源代码长度如下:

此网站其他页面也出现上述问题,我按照浏览器的显示情况,用xpath定位的元素节点,再响应中的源代码中查询不到,如下:

将响应中的源代码另存为.htm文件后,再用浏览器打开显示如下:

网页结构完全不一样,最下角看到‘触屏版’字样,点击‘触屏版’后跳转网页与另存打开的网页结构一致,如下:

什么情况!由此可推出此时scrpay获取网页跳转到触屏版导致网页结构不一致,从而无法抓取信息。
考虑触屏版网页源代码数量较小,遂在爬虫脚本中添加判断语句,当响应的源代码总数小于一定量时,采用‘触屏版’的路径表达式定位获取,从而解决问题。
以上为个人笔记,其中的深层缘由暂未了解,其中的解决方法来源于网上各位大佬的解答分享和自己的推测和实践得来,若有不对的地方,请大家指教,谢谢
本文记录了在使用Scrapy爬虫时遇到的问题,即爬取的网页会自动跳转到触屏版,导致网页结构变化,无法正确抓取信息。作者通过添加判断语句,当响应源代码量小于此阈值时,采用触屏版路径表达式定位,解决了这一问题。
1001





