我也是刚刚学会,面向小白。主要是记录一下怎么写的。
# -*- coding: utf-8 -*-
import urllib2
import re
import urllib
if __name__ == "__main__":
url = 'http://history.bnu.edu.cn/'
# 写入 User Agent 信息
head = {}
head['User-Agent'] = 'Mozilla/5.0 **********你的user agent'
#创建 Request 对象
req = urllib2.Request(url, headers=head)
#传入创建好的 Request 对象
response = urllib2.urlopen(req)
#读取响应信息并解码
data = response.read().decode('utf-8')
#构建正则表达式
reg = 'src="(.+?\.jpg)" '
#读取html中包含正则表达式的数据
imgList = re.findall(reg,data)
n = 1
for each in imgList:
print(each)
try:
imgurl = 'http://history.bnu.edu.cn/'+each
urllib.urlretrieve(imgurl,'D:\information-retrieval\pictures\\%s.jpg' %n)
#以下方法解决一些较大图片无法完整下载的问题
#filename = 'D:\information-retrieval\pictures\\%s.jpg' %n
#conn = urllib2.urlopen(imgurl)
#output = open(filename, 'wb') #binary flag needed for Windows
#output.write(conn.read())
#output.close()
except Exception as e:
print(e)
finally:
print(each)
n+=1
#输出结果
#print(data)
#print(imgList)