入门爬虫,爬取糗事百科的图片,没有大量采集,只是认识requests的简单工作流程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
import requests import re import os if __name__ == '__main__': headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 Edg/88.0.705.50' } url = 'https://www.qiushibaike.com/imgrank/page/%d/' if not os.path.exists('./糗图'): # 判断文件夹是否存在 os.mkdir('./糗图') # 创建文件夹 for pageNum in range(1,14): new_url = format(url%pageNum) # 定义新url print(f'开始爬取第{pageNum}页......') page_text = requests.get(url=new_url,headers=headers).text # 提取图片的正则表达式 ex = '<div class=""thumb"">.*?<img src=""(.*?)"" alt.*?</div>' img_src_list = re.findall(ex,page_text,re.S) for src in img_src_list: src = 'https:'+src # 拼接网址 img = requests.get(url=src,headers=headers).content # 得到二进制图片 # 生成图片名称 img_name = src.split('/')[-1] # 分隔src倒数第一个/后面的部分作为文件名 # 图片存储的路径 img_path = './糗图/' + img_name with open(img_path,'wb') as fp: fp.write(img) print(img_name,'爬取成功!') print('爬取完成!') |
近期评论