马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Stubborn 于 2019-4-14 04:02 编辑
举个栗子把,京东,当你打开界面往下滑动的时候,一些内容或者图片才会加载出来,借此提升“渲染速度”,增强用户体验。并不是你请求一瞬间一股脑字全部甩给你的。
这里以站长素材为例。# -*- coding:utf-8 -*-
# @Time : 2019-04-07 16:44
# @Author : Ein
# @File : 懒加载-站长素材.py
# @Software: PyCharm
from urllib import request
from lxml import etree
import os,time
import urllib
def handle_reuqest(url,page):
if page == 1:
url = url.format('')
else:
url = url.format('_'+str(page))
headers = {
'User - Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
}
response = request.Request(url=url,headers=headers)
return response
def download_img(imgsrc):
dirpath = "性感"
#创建文件名字
if not os.path.exists(dirpath):
os.mkdir(dirpath)
#文件名
filename = os.path.basename(imgsrc)
#图片路径
filepath = os.path.join(dirpath,filename)
#发送请求保存图片
reque = request.Request(url=imgsrc)
response = request.urlopen(reque)
with open(filepath,'wb') as fp:
fp.write(response.read())
def parse_connt(connt):
tree = etree.HTML(connt)
img_list = tree.xpath("//div[@id='container']/div/div/a/img/@src2")
'''懒加载技术:用到的再加载
实现方式:
<img src2 = '图片路径'> 通过js动态的添加
<img src = '图片路径' src2=''>
如上的img_list是图片链接,下载保存即可
'''
for img_src in img_list:
download_img(img_src)
def main():
url = 'http://sc.chinaz.com/tupian/xingganmeinvtupian{}.html'
for page in range(1,2):
response = handle_reuqest(url,page)
connt = request.urlopen(response).read().decode()
parse_connt(connt)
time.sleep(2)
if __name__ == '__main__':
main()
|