python一文带您实现爬取糗图的图片,让您一次看图看个爽。
本次实现爬取没有一句多的废话,若有纰漏之处,还望请教:
思路整理:
第一:我们需要存储图片,所以需要os模块
爬取模块requests,对爬取过来的html代码进行整理,所以需要re模块
故:import os,re,requests
第二:伪装一下我们的爬虫机制
第三:创建一个文件夹,保存所有的图片:
if not os.path.exists(’./qiutu’):
os.mkdir(’./qiutu’)
第四:就是设置我们的通用爬虫模板:
url = “这里放进我们在糗图里面放置的页码链接”
第五:使用循环对通用url进行包装
最后:使用re模块对爬取到的html文件进行操作
保存图片
-- coding = utf-8 --
@Time : 2021/3/29 16:49
@Author : zah
@File : 通用的url模板.py
@Software : PyCharm
import re,os,requests
#需求:爬取糗事百科分页模板下面的所有的糗图图片
if name == ‘main’:
# 下面进行ua伪装
headers = {
“User-Agent”: “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.63”
}
#创建一个文件夹,保存所有的图片
if not os.path.exists("./qiutu"):
os.mkdir(’./qiutu’)
#下面列出需要爬取的url路径://设定一个通用的url模板
url = “https://www.qiushibaike.com/imgrank/page/%d/”
for urlNumber in range(1,11):
newUrl = format(url%urlNumber)
# 使用通用爬虫对一整张页面进行爬取
page_text = requests.get(url=newUrl, headers=headers).text
#使用聚焦爬虫对url对应的一整张页面进行爬取
ex = ‘
img_src_list = re.findall(ex,page_text,re.S)
for src in img_src_list:
#拼接出一个完整的图片url
src = “https:” + src
#请求到了图片的二进制数据
img_data = requests.get(url=src,headers=headers).content
#生成图片名称
img_name = src.split(’/’)[-1]
#图片存储路径
img_path = ‘./qiutu’ + img_name
with open(img_path,‘wb’) as fp:
fp.write(img_data)
print(img_name,“下载成功!”)