经过,对上一版爬虫的仔细研究,我换了一个编写思路,写了这个2.0版本。
依然废话不多说,直接上代码。
# 导入库
import os, time, requests
# 请求头
headers = {
'User-Agent': 'Chrome 10.0'
}
# 图片数据列表
pictures = []
# 获取图片数据
def get_picurl, nums):
for num in range0, intnums)):
url_all = strurl) + f'{strnum)}.jpg'
res = requests.geturl=url_all, headers=headers)
pic_content = res.content
pictures.appendpic_content)
time.sleep0.5)
# 创建目的文件夹
def get_pathpath_name):
if not os.path.existsf'C:/Users/liu/Desktop/图集/{path_name}'):
os.mkdirf'C:/Users/liu/Desktop/图集/{path_name}')
else:
pass
# 保存图片数据
def save_data):
for pic,i in zippictures, rangeintNum))):
picture = openf'C:/Users/liu/Desktop/图集/{strPage_Num)}/{stri)}.jpg', 'wb')
picture.writepic)
picture.close)
# 主程序入口
if __name__ == '__main__':
Page_Num = input'Enter the Page_name:') # Page_Num指下文url所代指的数字
Num = intinput'Enter the Num:')) + 1 # Num为写真集的图片数
url = f'https://tjg.gzhuibei.com/a/1/{strPage_Num)}/' #
get_pathpath_name=Page_Num)
get_picurl=url, nums=Num)
save_data)
print'Finish!')
在编写的第一版爬虫的过程中,我发现可以通过算从而确定每张图片的url。因此,在第二版中,我省去了对lxml库的运用。
通过运算得到所有图片的url,相对于第一版更简便,也不用更多地访问,节省了下载时间。
在这个图集谷爬虫-2.0完成后,如果能够的话,我会继续对图集谷爬虫的不断优化。
感谢大家的支持!