如图,爬取所有图片,不包含文字

通过抓包工具可知每一张图片所在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, '下载成功!!!')

爬虫爬取糗事百科图片数据相关推荐

  1. python爬虫爬取糗事百科

    最近研究python爬虫,按照网上资料实现了python爬虫爬取糗事百科,做个笔记. 分享几个学习python爬虫资料: 廖雪峰python教程 主要讲解python的基础编程知识 python开发简 ...

  2. 爬取糗事百科图片(正则案例)

    首先前面来到糗事百科中的热图页面.然后右键检查打开浏览器的抓包工具,如下图所示: 通过对请求headers与响应response与element的分析,我们可以了解到图片链接就在该地址栏的网址下的di ...

  3. 网络爬虫---爬取糗事百科段子实战

    Python网络爬虫 1.知识要求 掌握python基础语法 熟悉urllib模块知识 熟悉get方法 会使用浏览器伪装技术 如果您对相关知识遗忘了,可以点上面的相关知识链接,熟悉一下. 2.爬取糗事 ...

  4. 爬虫爬取糗事百科段子

    目录 糗事百科段子爬取 爬虫功能介绍 所需软件 网页解析 找到所需信息所在代码段 获取信息 编程思路分析 获取当前所有段子 对提取的内容进行优化 数据合并 查看点赞数最多的内容 总结 最后 附代码 糗 ...

  5. python爬虫经典段子_Python爬虫-爬取糗事百科段子

    闲来无事,学学python爬虫. 在正式学爬虫前,简单学习了下HTML和CSS,了解了网页的基本结构后,更加快速入门. 1.获取糗事百科url 2.先抓取HTML页面 importurllibimpo ...

  6. 爬取糗事百科段子 + 数据可视化

    文章目录 一.前言 二.selenium爬取段子信息 三.绘制词云图 四.散点图 一.前言 糗事百科的段子栏目声称:幽默笑话大全__爆笑笑话__笑破你的肚子的搞笑段子,我们用 Python 来看看糗事 ...

  7. python+BeautifulSoup+多进程爬取糗事百科图片

    用到的库: import requests import os from bs4 import BeautifulSoup import time from multiprocessing impor ...

  8. python+正则+多进程爬取糗事百科图片

    话不多说,直接上代码: # 需要的库 import requests import re import os from multiprocessing import Pool # 请求头 header ...

  9. 爬虫:爬取糗事百科数据

    import requests from lxml import etree from fake_useragent import UserAgentclass Qiu:def __init__(se ...

最新文章

  1. LHC大神问的矩阵转置问题
  2. c 多文件全局变量_C/CPP : static 关键字 及 变量函数的不同
  3. OpenCASCADE:拓扑 API之历史支持
  4. 开放下载!阿里云开发者学堂配套教材《JVM实战》
  5. isinstance和issubclass
  6. oracle rds 运维服务_从运维的角度分析使用阿里云数据库RDS的必要性–你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库...
  7. 项目中的难点怎么克服_克服大型项目中的文档挑战
  8. 2017.9.27 书架 思考记录
  9. Webform(分页、组合查询)
  10. DSP DAC数模转换
  11. 径向基神经网络与多层感知器的比较
  12. 单模光纤最大传输距离为多少_单模光缆的传输距离是多少?
  13. 带有动态直方图的亲属关系模型
  14. python syntactic suger
  15. 线性代数笔记7——再看行列式与矩阵
  16. 小米运动蓝牙耳机重新配对_小米运动蓝牙耳机怎么连接手机
  17. 淘宝标题怎么写才能具有高权重
  18. 工控安全PLC固件逆向一
  19. Codeforces 869 C. The Intriguing Obsession (组合数学)
  20. shell中初始化数组并遍历数组

热门文章

  1. 嵌入式必看!全志T113-i+玄铁HiFi4核心板硬件说明资料分享
  2. Python基础入门----递归
  3. C++ bind浅析
  4. Centos7的yum安装报错Error: Nothing to do
  5. 06 现有原件模型的创建
  6. 电路(二)电阻电路的等效分析(附二元泰勒公式)
  7. CMWAP 和 CMNET 的区别是什么?
  8. pip 安装与卸载软件包
  9. 核高基专家许洪波:HTML5将赢得移动设备未来
  10. 华为WLAN技术:AC/AP 实验