思路如下:

首先找到图片的节点

<div class="thumb"><a href="/article/121672165" target="_blank">
<img src="//pic.qiushibaike.com/system/pictures/12167/121672165/medium/NTDNQY3EJKUSRZ2X.jpg" alt="糗事#121672165" class="illustration" width="100%" height="auto">
</a>
</div>

找到爬取页面的url

https://www.qiushibaike.com/imgrank/

发起请求拿到响应,略

使用正则表达式来获取图片的src

re.compile('<div class="thumb">.*?<img src="(.*?)>".*?</div>', re.S)

最后持久化写入文件。

具体代码如下:

import requests
import re
import osurl = "https://www.qiushibaike.com/imgrank/page/"headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36",
}pattern = re.compile('<div class="thumb">.*?<img src="(.*?)".*?>.*?</div>', re.S)if not os.path.exists("./imgs"):os.mkdir("imgs")# 观察糗事百科的分页url,不需要传入参数
for page in range(1, 6):# 直接更新url切换页面new_url = url + "%s/" % pageresponse = requests.get(url=new_url, headers=headers)page_text = response.text# 拿到所有图片的链接列表list_img = pattern.findall(page_text)# 持久化存储page_path = "pages%s/" % pageos.mkdir("imgs/%s" % page_path)for my_url in list_img:# 将图片url补充完整url_img = "https:" + my_urlprint(url_img)# 拿到图片的二进制文件data_img = requests.get(url=url_img, headers=headers).content# 图片的名称name_img = my_url.split("/")[-1]print(name_img)# 写入到本地的文件的路径path_img = "imgs/" + page_path + name_imgprint(path_img)with open(path_img, "wb") as fp:fp.write(data_img)
 
 

转载于:https://www.cnblogs.com/haoqirui/p/10658270.html

爬取糗事百科1到5页的图片并下载到本地相关推荐

  1. Python爬虫实战(1):爬取糗事百科段子

    Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫 ...

  2. 利用Python爬取糗事百科段子信息

    文章来源:公众号-智能化IT系统. 爬虫技术目前越来越流行,这里介绍一个爬虫的简单应用. 爬取的内容为糗事百科文字内容中的信息,如图所示: 爬取糗事百科文字35页的信息,通过手动浏览,以下为前四页的网 ...

  3. python爬虫经典段子_Python爬虫实战(1):爬取糗事百科段子

    大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧.那么这次为大家带来,Python爬取糗事百科的小段子的例子. 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把 ...

  4. JavaScript获取本机浏览器UA助力Python爬取糗事百科首页

    问题背景: 使用Python编写爬虫时,经常会遇到反爬机制,例如网站要求必须使用浏览器访问.就像下面的403错误: 或者下面这种错误信息: 一般来说,这是遇到反爬机制了,对方要求使用浏览器访问.这时可 ...

  5. 读书笔记(4)——python爬取糗事百科,并存到MySQL中

    2019独角兽企业重金招聘Python工程师标准>>> 安装MySQL.使用phpStudy集成工具来安装MySQL服务器,或者可以用USBwebserve进行安装. 打开USBwe ...

  6. python实现数据爬取——糗事百科爬虫项目

    python实现数据爬取--糗事百科爬虫项目 # urllib.request 请求模块 import urllib.request # re 模块使 Python 语言拥有全部的正则表达式功能. i ...

  7. 转 Python爬虫实战一之爬取糗事百科段子

    静觅 » Python爬虫实战一之爬取糗事百科段子 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致 ...

  8. 【Python爬虫系列教程 28-100】小姐姐带你入门爬虫框架Scrapy、 使用Scrapy框架爬取糗事百科段子

    文章目录 Scrapy快速入门 安装和文档: 快速入门: 创建项目: 目录结构介绍: Scrapy框架架构 Scrapy框架介绍: Scrapy框架模块功能: Scrapy Shell 打开Scrap ...

  9. Python爬虫学习笔记 -- 爬取糗事百科

    Python爬虫学习笔记 -- 爬取糗事百科 代码存放地址: https://github.com/xyls2011/python/tree/master/qiushibaike 爬取网址:https ...

  10. 爬虫第四战爬取糗事百科搞笑段子

    又开始了新的篇章,本熊继续一个Python小白的修行之路,这次要爬取糗事百科主页的段子,恩 ..看起来不错的样子,只是段子不能吃 ,不然,啧啧... 相信很多人有去糗百看段子减压的习惯,如果能把这些段 ...

最新文章

  1. 2021年大数据常用语言Scala(十六):基础语法学习 列表 List 重点掌握
  2. 对于PS和flash协作做过光字的一点心得
  3. vue.js+socket.io打造一个好玩的新闻社区
  4. 数据院跨学科交叉人才培养走出国门——中德交换生项目首位社科学子赴德国哥廷根大学交流学习
  5. Angular 中后台前端解决方案 - Ng Alain 介绍
  6. oracle主键自动增长
  7. Similar Pairs CodeForces - 1360C(图匹配+简单贪心)
  8. HttpClient官方sample代码的深入分析(连接池)
  9. 拼多多:扶贫项目正连续遭受网络舆情涉黑团伙攻击
  10. 适配器模式在Mybatis中的妙用
  11. spring事务的传播属性和事务隔离级别及配置事务(注解方式)
  12. python的常量_python常量 (最全常量解析)
  13. java工程师英文简历_软件工程师英文简历
  14. 非常全面的IReport的使用
  15. Centos 7分辨率调整成适应虚拟机屏幕大小
  16. 这些好看的皮肤,这不嗖的一下,统统都到电脑里了~
  17. 周老师,李记者,朱老师
  18. 输入手机号格式344展示形式(只允许数字)
  19. 计算机视觉——计算视差图
  20. 删掉微信聊天记录怎么恢复 ?怎么恢复微信聊天记录?

热门文章

  1. java 断点跳到注释,给注解打断点的一种方法
  2. Linux基础命令及其常识
  3. Security+ 学习笔记4 社会工程攻击
  4. Linux iptables防火墙详解(一)——iptables基础知识
  5. WLAN802.11n新技术详解
  6. 有关STL使用上的一些注意事项。关于某些函数的参数问题。
  7. nodejs操作redis总结
  8. Mac 10.12使用free命令(fish)
  9. 《电路分析导论(原书第12版)》一3.14 压控电阻
  10. MySQL的lock tables和unlock tables的用法