使用Python3的简单抓取网页图片的实例。
import urllib.request
import re
import os
import urllib
#根据给定的网址来获取网页详细信息,得到的html就是网页的源代码
headers = ("User-Agent",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE")
opener = urllib.request.build_opener()
opener.addheaders = [headers]
def getHtml(url):
page = opener.open(url)
html = page.read()
return html.decode('UTF-8')
def getImg(html):
#reg = r'src="(.+?.jpeg)"'
reg = r"src='(.+?.jpeg)'"
imgre = re.compile(reg)
#表示在整个网页中过滤出所有图片的地址,放在imglist中
imglist = imgre.findall(html)
x = 151
path = 'D:\test'
# 将图片保存到D:\test文件夹中,如果没有test文件夹则创建
if not os.path.isdir(path):
os.makedirs(path)
paths = path+'\' #保存在test路径下
urllib.request.install_opener(opener)
for imgurl in imglist:
#打开imglist中保存的图片网址,并下载图片保存在本地,format格式化字符串
urllib.request.urlretrieve(imgurl,'{}{}.jpg'.format(paths,x))
x = x + 1
print(x)
return imglist
html = getHtml("https://tieba.baidu.com/p/2460150866")
print(html)
#获取该网址网页详细信息,得到的html就是网页的源代码
print (getImg(html)) #从网页源代码中分析并下载保存图片