Python是很好的爬虫工具不用再说了,它可以满足我们爬取网络内容的需求,那最简单的爬取网络上的图片,可以通过很简单的方法实现。只需导入正则表达式模块,并利用spider原理通过使用定义函数的方法可以轻松的实现爬取图片的需求。
1、spider原理
spider就是定义爬取的动作及分析网站的地方。
以初始的URL**初始化Request**,并设置回调函数。 当该request**下载完毕并返回时,将生成**response ,并作为参数传给该回调函数。
2、实现python爬虫爬取图片
第一步:导入正则表达式模块
1
2
3
|
import re # 导入正则表达式模块 import requests # python HTTP客户端 编写爬虫和测试服务器经常用到的模块 import random # 随机生成一个数,范围[0,1] |
第二步:使用定义函数的方法爬取图片
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
def spiderPic(html, keyword): print ( '正在查找 ' + keyword + ' 对应的图片,下载中,请稍后......' ) for addr in re.findall( '"objURL":"(.*?)"' , html, re.S): # 查找URL print ( '正在爬取URL地址:' + str (addr)[ 0 : 30 ] + '...' ) # 爬取的地址长度超过30时,用'...'代替后面的内容 try : pics = requests.get(addr, timeout = 100 ) # 请求URL时间(最大10秒) except requests.exceptions.ConnectionError: print ( '您当前请求的URL地址出现错误' ) continue fq = open ( 'H:\\img\\' + (keyword + ' _ ' + str(random.randrange(0, 1000, 4)) + ' .jpg '), ' wb') # 下载图片,并保存和命名 fq.write(pics.content) fq.close() |
到此这篇关于python爬虫爬取图片的简单代码的文章就介绍到这了,更多相关python爬虫怎么爬取图片内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/spider/example/23017.html