在爬取图片网站时发现浏览器上显示的源码和使用python爬取的源码不同,这里指html页面。网上给的解释是网站使用了懒加载模式,意识是说页面在浏览器加载的时候不会全部加载,而是等用户向下滑动或者页面显示在屏幕范围内时才会加载,这样的好处是减小服务器压力,缩短页面响应时间。
下面展示一下具体
在浏览器中通过xpath取值图片的src属性,都是正常的
在python中爬取的代码却是这个样子,没有src属性,只有data-original属性,推测页面在视口区域加载时通过js将src属性添加到img中,并且将data-original的值赋给src。
这里我使用的时lxml库,通过这种方法就可以取src的值了,另外大家注意这里div[@class=“item masonry_brick”]有两个类属性,如果只写一个属性是找不到对应元素的。
div_list = html.xpath('//div[@id="infinite_scroll"]/div[@class="item masonry_brick"]/div[@class="item_t"]/div[@class="img"]/a/img/@data-original')