爬取网站页面与浏览器显示不一致

欲爬取网页链接
scrapy爬虫爬取该页面时的响应如下:
爬取网站页面与浏览器显示不一致_第1张图片
而此时,测试使用requests.get获得网页源代码长度如下:
爬取网站页面与浏览器显示不一致_第2张图片
此网站其他页面也出现上述问题,我按照浏览器的显示情况,用xpath定位的元素节点,再响应中的源代码中查询不到,如下:
爬取网站页面与浏览器显示不一致_第3张图片
将响应中的源代码另存为.htm文件后,再用浏览器打开显示如下:
爬取网站页面与浏览器显示不一致_第4张图片
网页结构完全不一样,最下角看到‘触屏版’字样,点击‘触屏版’后跳转网页与另存打开的网页结构一致,如下:
爬取网站页面与浏览器显示不一致_第5张图片
什么情况!由此可推出此时scrpay获取网页跳转到触屏版导致网页结构不一致,从而无法抓取信息。
考虑触屏版网页源代码数量较小,遂在爬虫脚本中添加判断语句,当响应的源代码总数小于一定量时,采用‘触屏版’的路径表达式定位获取,从而解决问题。

以上为个人笔记,其中的深层缘由暂未了解,其中的解决方法来源于网上各位大佬的解答分享和自己的推测和实践得来,若有不对的地方,请大家指教,谢谢

你可能感兴趣的:(html,python,定位)