python - 怎么用爬虫批量抓取网页中的图片?
问题描述

如图,通过network查看加载图片,要一张一张右键保存很麻烦,有没有办法写个爬虫批量抓取这里的图片》?
问题解答
回答1:这个需求, 如果你会爬虫其实很简单, 不外乎几个步骤:
首页或者有图片的页面, 通过正则或者其他框架, 获取图片的url
通过requests库或者urllib库, 访问上面图片url的地址
以二进制的形式, 写入本地硬盘
参考代码:
import re, requestsr = requests.get('http://...页面地址..')p = re.compile(r’相应的正则表达式匹配’)image = p.findall(r.text)[0] # 通过正则获取所有图片的urlir = requests.get(image) # 访问图片的地址sz = open(’logo.jpg’, ’wb’).write(ir.content) # 将其内容写入本地print(’logo.jpg’, sz,’bytes’)
更多详情, 可以参考学习requests官方文档: requests文档
回答2:可以的,爬虫五个部分:调度程序url去重下载器网页解析数据存储对于下载图片的思路是:获取图片所在网页内容,解析img标签,得到图片地址,然后便利图片网址,下载每张图片,将下载过的图片地址保存在布隆过滤器中,避免重复下载,每次下载一张图片时,通过网址检查是否下载过,当图片下载到本地后,可以将图片路径保存在数据库中,图片文件保存在文件夹中,或者直接将图片保存在数据库中。python使用request+beautifulsoup4java使用jsoup
回答3:如果多个网站或者一个网站需要爬到很深的情况下,楼上的方式直接递归或者深度遍历就OK
相关文章:
1. 网页爬虫 - 关于Python的编码与解码问题2. css - 文字排版问题,内容都是动态抓出来的,字数不一定。如何对齐啊3. css3 - 微信前端页面遇到的transition过渡动画的bug4. selenium-selenium-webdriver - python 将当前目录加入到 环境变量5. javascript - html5 input file 如何限制只能调起图库和摄像头、不能选择其他类型的文件?6. css3 - 微信小程序如何把radio改成2个选择按钮的样式7. javascript - 为什么var obj = {}创建对象的方法里面不能用this.xxx来声明属性 ?8. redis - 究竟是选择微信小程序自带的统计工具还是自己开发一个数据统计的代码?9. javascript - postcss-loader在webpack2的使用.10. php ZipArchive关于不同目录文件压缩

网公网安备