爬虫爬取糗事百科图片数据
如图,爬取所有图片,不包含文字
通过抓包工具可知每一张图片所在div的class=“thumb”,利用正则表达式
ex = '<div class="thumb">.*?<img src="(.*?)" alt.*?</div>'
下面是爬取当前页图片代码
import requests
import re
import os# 需求:爬取糗事百科中图片版块下所有糗图图片
if __name__ == '__main__':# 创建一个文件夹保存所有图片if not os.path.exists('./qiutuLibs'):os.mkdir('./qiutuLibs')headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 ''Safari/537.36 Core/1.70.3877.400 QQBrowser/10.8.4506.400 '}url = 'https://www.qiushibaike.com/imgrank/'# 使用通用爬虫对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:# 拼接出一个完整的图片urlsrc = 'https:' + src# 请求到了图片的二进制数据img_data = requests.get(url=src, headers=headers).content# 生成图片名称img_name = src.split('/')[-1]# 图片存储路径imgPath = './qiutuLibs/' + img_namewith open(imgPath, 'wb') as fp:fp.write(img_data)print(img_name, '下载成功!!!')
如果要分页爬取数据,就需要建立一个url模板,单击糗事百科的第二页第三页,观察url地址
于是我们建立的url模板可为
url = 'https://www.qiushibaike.com/imgrank/page/%d/'
全部代码如下
import requests
import re
import os# 需求:爬取糗事百科中图片版块下所有糗图图片
if __name__ == '__main__':# 创建一个文件夹保存所有图片if not os.path.exists('./qiutuLibs'):os.mkdir('./qiutuLibs')headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 ''Safari/537.36 Core/1.70.3877.400 QQBrowser/10.8.4506.400 '}# 设置一个url通用模板url = 'https://www.qiushibaike.com/imgrank/page/%d/'for pageNum in range(1, 3):new_url = format(url % pageNum)# 使用通用爬虫对new_url对应的一整张页面进行爬取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:# 拼接出一个完整的图片urlsrc = 'https:' + src# 请求到了图片的二进制数据img_data = requests.get(url=src, headers=headers).content# 生成图片名称img_name = src.split('/')[-1]# 图片存储路径imgPath = './qiutuLibs/' + img_namewith open(imgPath, 'wb') as fp:fp.write(img_data)print(img_name, '下载成功!!!')
爬虫爬取糗事百科图片数据相关推荐
- python爬虫爬取糗事百科
最近研究python爬虫,按照网上资料实现了python爬虫爬取糗事百科,做个笔记. 分享几个学习python爬虫资料: 廖雪峰python教程 主要讲解python的基础编程知识 python开发简 ...
- 爬取糗事百科图片(正则案例)
首先前面来到糗事百科中的热图页面.然后右键检查打开浏览器的抓包工具,如下图所示: 通过对请求headers与响应response与element的分析,我们可以了解到图片链接就在该地址栏的网址下的di ...
- 网络爬虫---爬取糗事百科段子实战
Python网络爬虫 1.知识要求 掌握python基础语法 熟悉urllib模块知识 熟悉get方法 会使用浏览器伪装技术 如果您对相关知识遗忘了,可以点上面的相关知识链接,熟悉一下. 2.爬取糗事 ...
- 爬虫爬取糗事百科段子
目录 糗事百科段子爬取 爬虫功能介绍 所需软件 网页解析 找到所需信息所在代码段 获取信息 编程思路分析 获取当前所有段子 对提取的内容进行优化 数据合并 查看点赞数最多的内容 总结 最后 附代码 糗 ...
- python爬虫经典段子_Python爬虫-爬取糗事百科段子
闲来无事,学学python爬虫. 在正式学爬虫前,简单学习了下HTML和CSS,了解了网页的基本结构后,更加快速入门. 1.获取糗事百科url 2.先抓取HTML页面 importurllibimpo ...
- 爬取糗事百科段子 + 数据可视化
文章目录 一.前言 二.selenium爬取段子信息 三.绘制词云图 四.散点图 一.前言 糗事百科的段子栏目声称:幽默笑话大全__爆笑笑话__笑破你的肚子的搞笑段子,我们用 Python 来看看糗事 ...
- python+BeautifulSoup+多进程爬取糗事百科图片
用到的库: import requests import os from bs4 import BeautifulSoup import time from multiprocessing impor ...
- python+正则+多进程爬取糗事百科图片
话不多说,直接上代码: # 需要的库 import requests import re import os from multiprocessing import Pool # 请求头 header ...
- 爬虫:爬取糗事百科数据
import requests from lxml import etree from fake_useragent import UserAgentclass Qiu:def __init__(se ...
最新文章
- LHC大神问的矩阵转置问题
- c 多文件全局变量_C/CPP : static 关键字 及 变量函数的不同
- OpenCASCADE:拓扑 API之历史支持
- 开放下载!阿里云开发者学堂配套教材《JVM实战》
- isinstance和issubclass
- oracle rds 运维服务_从运维的角度分析使用阿里云数据库RDS的必要性–你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库...
- 项目中的难点怎么克服_克服大型项目中的文档挑战
- 2017.9.27 书架 思考记录
- Webform(分页、组合查询)
- DSP DAC数模转换
- 径向基神经网络与多层感知器的比较
- 单模光纤最大传输距离为多少_单模光缆的传输距离是多少?
- 带有动态直方图的亲属关系模型
- python syntactic suger
- 线性代数笔记7——再看行列式与矩阵
- 小米运动蓝牙耳机重新配对_小米运动蓝牙耳机怎么连接手机
- 淘宝标题怎么写才能具有高权重
- 工控安全PLC固件逆向一
- Codeforces 869 C. The Intriguing Obsession (组合数学)
- shell中初始化数组并遍历数组