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-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享