在爬取网页时首先要的就是对网页进行分析,这里我主要需要的是两个部分,一个是这组图的名称,用来做文件名;另一个是图片链接,用来下载图片。
import requests
import re
import time
import os
#获取网页
kv = {'user-agent':'Mozilla/5.0'}
response = requests.get("https://www.vmgirls.com/13344.html" , headers = kv)
html = response.text
#解析网页
dir_name = re.findall('<h1 class="post-title h1">(.*?)</h1>',html)[-1] #作为文件名
if not os.path.exists(dir_name):
os.mkdir(dir_name)
urls = re.findall('<a href="(.*?)" alt="少女情怀总是诗".*?</a>',html)
#print(urls)
#保存图片到指定文件
num = 1
for url in urls:
time.sleep(1) #设置爬取时间间隔为1s
#定义图片的名字
file_name = url.split('/')[-1]
response = requests.get('https:' + url , headers = kv) #制定并获取图片链接
with open(dir_name + '/' + file_name,'wb') as f:
f.write(response.content) #因为图片是二进制所以用content写入
print("正在爬取第%d张图片"%(num))
num = num + 1
f.close()
print("爬取完毕")