import requests,re,time
网址 = input('粘贴妹子图套图首页地址')
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
'Referer': 'https://www.mzitu.com'
}
def 获取网页源代码(网址):
请求发送 = requests.get(网址,headers = headers)
if 请求发送.status_code == 200:
网页源代码 = 请求发送.text
return 网页源代码
def 分析单页信息(网页源代码):
主图信息 = re.search('class="main-title">(.?)</h2>.?"blur" src="(.?)".?>', 网页源代码 , re.S)
主图最大页码 = (re.findall(r'<span>(\d+)',网页源代码,re.S)[-1])
图片名称 = 主图信息.group(1)
图片链接 = 主图信息.group(2)
return (主图最大页码,图片名称,图片链接)
def 获取分页网址(网址,主图最大页码):
页序 = []
for 页码 in range(1,int(主图最大页码)):
if 页码 < 2:
综合网址 = 网址
页序.append(综合网址)
else:
综合网址 = 网址 + '/' + str(页码)
页序.append(综合网址)
return(页序)
def 下载图片(图片名称,图片地址,header):
file_path = r"E:\SynologyDrive\妹子图\20200528"
with open(str(图片名称) + '.jpg', 'wb') as 图片:
图片信息 = requests.get(图片地址, headers=header).content
图片.write(图片信息)
print(图片名称)
def 最终呈现(header,网址):
网页源代码 = 获取网页源代码(网址)
单页信息 = 分析单页信息(网页源代码)
分页 = 获取分页网址(网址,int(单页信息[0]))
for 网址 in 分页:
源代码 = 获取网页源代码(网址)
图片信息 = 分析单页信息(源代码)
下载图片(图片信息[1],图片信息[2],header)
time.sleep(1.5)
最终呈现(headers,网址)
|