现在网上有很多python2写的爬虫抓取网页图片的实例,但不适用新手(新手都使用python3环境,不兼容python2),
所以我用Python3的语法写了一个简单抓取网页图片的实例,希望能够帮助到大家,并希望大家批评指正。
1 import urllib.request
2 import re
3 import os
4 import urllib
5 #根据给定的网址来获取网页详细信息,得到的html就是网页的源代码
6 def getHtml(url):
7 page = urllib.request.urlopen(url)
8 html = page.read()
9 return html.decode('UTF-8')
10
11 def getImg(html):
12 reg = r'src="(.+?.jpg)" pic_ext'
13 imgre = re.compile(reg)
14 imglist = imgre.findall(html)#表示在整个网页中过滤出所有图片的地址,放在imglist中
15 x = 0
16 path = 'D:\test'
17 # 将图片保存到D:\test文件夹中,如果没有test文件夹则创建
18 if not os.path.isdir(path):
19 os.makedirs(path)
20 paths = path+'\' #保存在test路径下
21
22 for imgurl in imglist:
23 urllib.request.urlretrieve(imgurl,'{}{}.jpg'.format(paths,x)) #打开imglist中保存的图片网址,并下载图片保存在本地,format格式化字符串
24 x = x + 1
25 return imglist
26 html = getHtml("http://tieba.baidu.com/p/2460150866")#获取该网址网页详细信息,得到的html就是网页的源代码
27 print (getImg(html)) #从网页源代码中分析并下载保存图片