l> 我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情

文章目录

  • 1.开发环境
  • 2.第三方库
  • 3.实现
    • 1.分析url格式
    • 2.分析图片格式
    • 3.保存图片到本地
    • 4.输入页数
  • 4.优化
    • 1.防止被封
    • 2.多线程下载
    • 3.便捷获取图片地址
  • 5.效果
  • 6.Github源码
  • 7.Scrapy版

今天我们继续爬取妹子图片,通过另一种方式来实现。
上一篇 我们介绍了怎么爬取美女图片,但是还是有一些可以改进的地方。

  1. 怎么防止被封
  2. 是否可以利用多线程加快下载速度
  3. 有没有更方便的方法获取网页图片地址

1.开发环境

  1. IDE: PyCharm 2021.2.1 (Professional Edition)
  2. Python: 3.9.7

2.第三方库

  1. requests:网络请求
  2. lxml.etree:分析HTML特征,获取图片地址

3.实现

1.分析url格式

我们再找个网站来分析下。
比如这个网站首页是这样的:https://sc.chinaz.com/tupian/ribenmeinv.html
打开第二页后变成:https://sc.chinaz.com/tupian/ribenmeinv_2.html
也就是第二页后的格式是index_{N}.html

2.分析图片格式

Chrome通过Ctrl + U查看源码。找到图片列表相关的代码区域:

这个时候我们就可以通过etree的xpath来解析图片格式:

html.xpath("//div[@id='container']/div[@class='box picblock col3']/div/a/img/@src2")

3.保存图片到本地

我们可以通过with open方式来保存图片:

# 访问图片
data = requests.get(image_url).content
# 保存图片
with open(r"C:/meinv/xxx.jpeg", "wb") as file_object:file_object.write(data)

4.输入页数

pages = int(input("请输入总页数:"))

4.优化

1.防止被封

通过模拟浏览器的特征,让网站认为这条请求是通过浏览器发送的。
我们可以在请求的时候加上一个header字段:

header = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36" }

2.多线程下载

如果打算下载多页上的图片,我们可以考虑将每一页交给一个线程去处理,这样多页就可以行下载本页的图片了。

for page in range(pages):t = threading.Thread(target=fetch, args=(page + 1,))t.start()

3.便捷获取图片地址

xpath是一种路径语言,特别适合XML格式的文档。XML是一种树形结构的文档,xpath就提供了在树形结构文档中查找节点的能力。
而正则表达式可以处理任何格式的字符串文档,通过文本特征来查找指定的数据。

大多数情况下,树的搜索是比字符串搜索快的。

xpath的语法参见:https://www.runoob.com/xpath/xpath-syntax.html

5.效果

6.Github源码

[day2]python网络爬虫实战:爬取美女妹子写真图片(增强版)

7.Scrapy版

[day4]python网络爬虫实战:爬取美女写真图片(Scrapy版)

欢迎关注我的技术公众号:国民程序员,我们的目标:输出干货

  1. 每天分享原创技术文章
  2. 海量免费技术资料和视频学习资源
  3. 分享赚钱门道,带领程序员走向财务自由

[day2]python网络爬虫实战:爬取美女写真图片(增强版)相关推荐

  1. [day4]python网络爬虫实战:爬取美女写真图片(Scrapy版)

    l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.Scrapy简介 4. ...

  2. lofter 爬虫_Python网络爬虫1 - 爬取网易LOFTER图片

    LOFTER是网易出品的优质轻博客,灵感源于国外的tumblr,但比之更加文艺,更加本地化.本人非常喜欢LOFTER的UI设计,以及其中的优质用户和内容,似乎网易并不擅长推广,所以受众并不广泛.这都是 ...

  3. [day1]python网络爬虫实战:爬取美女写真图片

    l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.实现 1.分析url格 ...

  4. Python 网络爬虫:爬取4K高清美图

    爬取4K高清美图 这篇爬虫主要是用来爬取网站高清4K图片,这也是笔者学初学爬虫的时候最先写一个的爬虫脚本,现在回过头来重新梳理一下,也算是对从前知识的一个总结,希望对大家有所帮助! 文章目录 爬取4K ...

  5. Python网络爬虫:爬取并下载个性化签名图片 附GUI窗体版

    Hello,大家好,我是wangzirui32,最近我开了个新的系列,是"Python网络爬虫"分类,还请大家多多支持! 今天,我们来学习如何爬取并下载个性化签名图片,开始学习吧! ...

  6. 【爬虫实战】10应用Python网络爬虫——定向爬取百度百科文字

    python百度百科爬虫 网页源代码分析 编程实现 小结 网页源代码分析 首先找一下需要爬取的正文: 对应的源代码有两个地方: 上图往后翻会发现省略号,所以下面这张图才是我们需要爬取的部分: 编程实现 ...

  7. Python网络爬虫之爬取微博热搜

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  8. Python网络爬虫:爬取CSDN热搜数据 并保存到本地文件中

    hello,大家好,我是wangzirui32,今天我们来学习如何爬取CSDN热搜数据,并保存到Excel表格中. 开始学习吧! 学习目录 1. 数据包抓取 2. 编写代码 1. 数据包抓取 打开CS ...

  9. Python网络爬虫:爬取豆瓣上《小王子》书评

    本文为南大<用Python玩转数据>学习笔记 用到的库或模块: 1.Requests第三方库 用于中小型网络爬虫的信息抓取. 基本方法: requests.get() 请求获取指定YRL位 ...

最新文章

  1. python安装numpy-python及numpy安装
  2. JavaScript学习笔记06【高级——JavaScript中的事件】
  3. hmm 求隐藏序列_结巴分词3--基于汉字成词能力的HMM模型识别未登录词
  4. springboot 手动提交事务_分布式事务开局第一篇,从数据库事务隔离级别说起
  5. linux glibc安装mysql_Linux安装MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm
  6. FTP 编写 2:客户端与服务端的连接
  7. 生活随笔:怀念大学时代
  8. linux 组态软件,基于嵌入式Linux的组态软件实时数据库的设计
  9. 95后公务员晒3004元工资引群嘲:安逸过了头,人生也就止步了
  10. Unity 如何实现批量修改图片格式
  11. 等价类划分法用例设计
  12. android expandablelistview 动画,的Android ExpandableListView使用动画
  13. Map的实现类中,哪些是有序的,哪些是无序的
  14. POI java.lang.IllegalArgumentException: Merged region xxx must contain 2 or more cells问题解决
  15. 平面曲线的弧长和曲率
  16. 什么软件可以测试网络的稳定性,手机怎么测试网络稳定性
  17. spring事务出现的超卖问题
  18. 综述(三)无人驾驶中感知系统的工作流程及原理
  19. 储存数据与操作Excel [爬虫专题(9)]
  20. java curl 使用方法_如何在Java中使用这个cURL POST请求?(Spotify API)

热门文章

  1. VSC C++ 配置
  2. 第三方登录用户信息表设计
  3. 第2节 物理层physical layer——如网线和光纤等相关知识
  4. linux用什么剪辑视频教程,极简主义:Linux视频剪辑利器Viedo Trimmer
  5. java 侵入性_侵入性和非侵入式指什么?
  6. E2E测试---Cypress 使用
  7. 会话初始协议---SIP协议【详解】
  8. 计算机类部队文职好考吗,“军队文职”招考遇冷,8000余岗位无人报考,是铁饭碗不香了吗...
  9. 小米笔记本Air12.5与Deepin系统体验
  10. Shader Graph 小草顶点动画