import requests
from lxml import etree
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'
}
num = 1
# 下载网页
def get_html(link):
print("第{}页数据下载".format(page))
html = requests.get(link,headers=headers).content.decode('utf-8')
return html
# 提取图片 link 地址
def scr_url(html):
etree_html = etree.HTML(html) # 转换数据
src_links = etree_html.xpath('//img/@data-original') # 结果列表数据
return src_links
# 保存图片
def save_scr(src_links):
# num = 1 放在这里的为局部变量 当多次循环时 文件会出现因 名字一样从而覆盖 因此将他变为 全局变量
global num # 调用这个 全局变量
for src_link in src_links:
a = requests.get(src_link,headers=headers)
print("正在下载第{}张图片".format(num))
with open(r'C:\Users\DELL\Desktop\python_wd\mig\街拍美女\\'+ str(num)+ '.jpg','wb')as f:
f.write(a.content)
num += 1
if __name__ == '__main__':
for page in range(1,3):
link = 'https://www.mzitu.com/jiepai/comment-page-{}/#comments'.format(page)
html = get_html(link)
src_links = scr_url(html)
save_scr(src_links)
运行代码部分数据结果:
————————END