python——爬取图片(初学)
利用python抓取网络图片的步骤是:
1、根据给定的网址获取网页源代码
2、利用正则表达式把源代码中的图片地址过滤出来
3、根据过滤出来的图片地址下载网络图片
以下是比较简单的一个抓取某一个网页的图片的实现:
# -*- coding: utf-8 -*- import urllib import re def main(): # 利用urllib2的urlopen方法,下载当前url的网页内容 req = urllib2.urlopen('http://www.imooc.com/course/list') # 将网页内容存储到buf变量中 buf = req.read() # 将buf中的所有内容与需要匹配的url进行比对。这里的正则表达式是根据静态网页的源码得出的,查看静态网页源码开启开发者模式,按F12即可。然后确定图片块,查看对应源码内容,找出规律,编写正则表达式。 listurl = re.findall(r'src=.+\.jpg',buf) i = 0 # 将结果循环写入文件 for url in listurl: f = open(str(i)+'.jpg','w') req = urllib2.urlopen(url[5:]) buf1 = req.read() f.write(buf1) i+=1 if __name__ == '__main__': main()
这里使用的网页下载器是python自带的urllib2,然后利用正则表达式匹配,输出结果。
运行结果