python - Wie kann ich mit einem Crawler Bilder von Webseiten stapelweise crawlen?
给我你的怀抱
给我你的怀抱 2017-06-28 09:25:48
0
3
1203

Wie im Bild gezeigt, ist es sehr mühsam, Bilder einzeln im Netzwerk anzuzeigen und zu laden, um sie zu speichern. Gibt es hier eine Möglichkeit, einen Crawler zu schreiben, der die Bilder stapelweise erfasst?

给我你的怀抱
给我你的怀抱

Antworte allen(3)
仅有的幸福

这个需求, 如果你会爬虫其实很简单, 不外乎几个步骤:

  1. 首页或者有图片的页面, 通过正则或者其他框架, 获取图片的url

  2. 通过requests库或者urllib库, 访问上面图片url的地址

  3. 以二进制的形式, 写入本地硬盘

参考代码:

import re, requests

r = requests.get("http://...页面地址..")
p = re.compile(r'相应的正则表达式匹配')
image = p.findall(r.text)[0]  # 通过正则获取所有图片的url
ir = requests.get(image)      # 访问图片的地址
sz = open('logo.jpg', 'wb').write(ir.content)  # 将其内容写入本地
print('logo.jpg', sz,'bytes')

更多详情, 可以参考学习requests官方文档: requests文档

女神的闺蜜爱上我

可以的,
爬虫五个部分:
调度程序
url去重
下载器
网页解析
数据存储
对于下载图片的思路是:
获取图片所在网页内容,解析img标签,得到图片地址,然后便利图片网址,下载每张图片,将下载过的图片地址保存在布隆过滤器中,避免重复下载,每次下载一张图片时,通过网址检查是否下载过,当图片下载到本地后,可以将图片路径保存在数据库中,图片文件保存在文件夹中,或者直接将图片保存在数据库中。
python使用request+beautifulsoup4
java使用jsoup

女神的闺蜜爱上我

如果多个网站或者一个网站需要爬到很深的情况下,楼上的方式直接递归或者深度遍历就OK

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage