Python运用正则解析爬取糗事百科图片
2021/7/29 22:08:04
本文主要是介绍Python运用正则解析爬取糗事百科图片,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 前言
- 爬取原理
- 代码
前言
这只是一个基础的爬取图片过程,其他图片的爬取大致过程也是这样
爬取原理
图片爬取属于聚焦爬虫,其编码流程大致如下:
- 指定url
- 发起请求
- 获取相应数据
- 数据解析
- 持久化存储、
过程:首先要进入 糗事百科 网页,按F12进入爬虫工具页面,通过检查可以发现,图片都存在class =“thumb”的div中,但是这个div中不只是有图片,而且还有图片介绍,我们可以写一段 正则表达式 用来对img单独提取
ex = '<div class="thumb">.*?<img src="(.*?)" alt.*?</div>'
代码
import requests import re import os url ='https://www.qiushibaike.com/imgrank/' if not os.path.exists('./qiutu'): os.mkdir('./qiutu') headers ={ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.55' } #使用通用爬虫对URL对应一整张页面进行爬取 page_text = requests.get(url=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: #拼接出一个完整的图片url src='https:'+src # 请求到图片的二进制数据 img_data = requests.get(url=src,headers=headers).content # 生成图片名称 img_name = src.split('/')[-1] # 存储路径 imgPath = './qiutu/'+img_name with open(imgPath,'wb') as fp: fp.write(img_data) print(img_name,'打印成功!')
爬取结果
这篇关于Python运用正则解析爬取糗事百科图片的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-18初探Python股票自动化交易:入门指南
- 2024-09-18Python量化入门:轻松掌握量化分析基础与实战
- 2024-09-18Python量化交易:入门指南与实践
- 2024-09-18Python量化交易:入门指南与实战技巧
- 2024-09-14Python人工智能项目实战:从零开始的实践指南
- 2024-09-14探索Python人工智能资料:初学者的指南
- 2024-09-14Python人工智能资料:初学者的全面指南
- 2024-09-13Matplotlib入门:轻松绘制Python数据可视化图表
- 2024-09-13Python人工智能:初学者的入门指南
- 2024-09-13Python人工智能:轻松入门与实践