图片懒加载

What is 图片懒加载?

  图片懒加载是一种网页优化技术,图片在被请求时也与普通静态资源一样,占用资源,然而当一个图片类型在刚被初次请求的时候不可以一次性加载所有的图片,因为这样太过于浪费网络资源,还增加了页面加载时间,通过前后端配合处理,使图片仅在浏览器当前视窗内出现的时候才加载该图片,达到减少首屏图片请求数的技术就被称为“图片懒加载”。

如何实现图片懒加载?

  在网页源码中,在img标签中设置伪属性(通常为src2,original..等)去存放真正的图片链接,而并非直接存放到src属性中,当图片出现到页面可视化区域时,会动态将伪属性替换成src属性,完成图片的加载 !

机制

  当用户拖动滚轮,当某些图片出现到可视化区域,马上加载源码中img标签,请求到数据!

相关案例

#站长素材案列
import requests
from lxml import etree
from urllib import request

url = "http://sc.chinaz.com/tupian/huangsetupian.html"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"
}
response = requests.get(url=url,headers=headers)
response.encoding = "utf-8"
page_text = response.text

tree = etree.HTML(page_text)

div_list = tree.xpath("//div[@id='container']/div")
for div in div_list:
    img_name = div.xpath("./p/a/text()")[0] + ".jpg"
    img_url = div.xpath("./div/a/img/@src2")[0] #src2为伪属性 !!!
    #如果中文乱码,可以用以下代码处理
#     img_name = img_name.encode('iso-8859-1').decode('gbk')
    request.urlretrieve(url=img_url,filename=f"./zz-img/{img_name}")
    print(f"{img_name}爬取成功")

 

转载于:https://www.cnblogs.com/CrazySheldon1/p/10836695.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值