爬虫脚本可以说是python语言应用最为广泛的一个地方了,而除了抓取文本数据之后,它还能够将网页中的图片给抓取下来。下面就是来给大家分享一个,简单的图片抓取Python爬虫脚本,对其感兴趣像学习一下的小伙伴就往下看看吧。
1.那么首先需要做的就是新建python文件作为脚本,然后打开浏览器将自己所需要抓取图片的网站链接复制下来。之后在脚本文件中导入urllib以及re两个标准库,再将这个网页链接保存在变量之中,代码如下:
import urllib import re path = ‘http://tieba.baidu.com/p/2460150866’
2.然后定义一个函数,这个函数只需要接收url链接一个参数即可。在此函数中向这个网页发送请求将其给抓取下来,然后再调用read()方法将里面的所有内容读取出来后返回,代码如下:
def getHtml(url): page = urllib.urlopen(url) html = page.read() return html
3.那么此时返回的就只是网页源数据,还需要经过进一步处理才可以获取其中图片。在浏览器中按F12并且将鼠标移动到图片上,查看它标签内表示图片的属性是什么,再根据这个属性来编写正则字符串生成正则规则。
然后调用findall()方法就可以根据该规则把网页源代码中匹配的数据全取出来,而这里取到的实际上时图片链接。所以用for循环迭代这些链接组成的对象,每次迭代中都调用urlretrieve()方法远程将图片数据下载到本地并且重命名以更符合规范。最后去调用这个函数即可,详细代码如下:
def getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) imglist = re.findall(imgre,html) x = 0 for imgurl in imglist: urllib.urlretrieve(imgurl,'%s.jpg' % x) x+=1 html = getHtml(path) print(getImg(html))