🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 一 反爬思路 一个网页可能包含上百张图片,如果一次性都加载出来,页面加载可能会很慢,有一种图片懒加载的方式, 1. 将图片的src熟悉,替换为其他的属性,这样初始及ubuntu加载图片 2. 当页面检测到用户浏览到指定位置后,动态修改图片的属性为src 3. 然后请求并显示图片 # 二 对抗思路 这种方式一般不是为了反爬,是为了优化页面加载,但这样会导致用request请求页面时,由于没有浏览任何位置,到账一张图片都不会加载 解决思路是找到懒加载的真实属性,获取该真实属性的连接 # 三 爬虫案例 ~~~python import requests from lxml import etree url='http://sc.chinaz.com/tupian/xingganmeinvtupian.html' headers={ 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36' } res=requests.get(url=url,headers=headers).text # 1. 注意第一次先将页面报错到本地,去分析真实属性 # with open('test.html','w',encoding='utf-8') as f: # f.write(res) tree=etree.HTML(res) div_list=tree.xpath('//*[@id="container"]/div') for div in div_list: # 2. 这里,用到了真实属性src2,而不是src image_url=div.xpath('./div/a/img/@src2')[0] print(image_url) ~~~