1.导入urllib库
import urllib.request;
导入正则表达的包
import re
2.目标网址
url = “https://www.i4.cn/wper_1_0_0_1.html”
3.检验网址时候可以访问
html = urllib.request.urlopen(url);
if html.getcode() == 200:
print(“网站返回码:%d,网络访问成功”%html.getcode())
# 4.读取网站源码
data = html.read();
# 5.存储到本地
file = open(“02_爱思助手图片网站.html”,“wb”,1);
# 6.写入数据
file.write(data);
# 7.关闭文件写入
file.close();
pass
8.关闭网络
html.close();
=开始解析源码中的图片========
【1】创建一个函数:
def Get_data_img(data):
# 【3】创建一个正则表达式进行数据筛选
# 匹配小图 – 网络不好
# https://d-paper.i4.cn/middle/2019/03/01/11/1551410394777_063148.jpg
# r = r’[a-zA-z]+://[^\s].jpg’;
# 这是一个正则表达式
r = r’https://d-paper.i4.cn/middle[^\s].jpg’;
# 【4】创建一个正则表达式的模板
# re.compile®编译正则表达式模式,返回一个对象。可以把常用的正则表达式编译成正则表达式对象,方便后续调用及提高效率。
pat = re.compile®;
# 【进行数据匹配】
# 第一个参数:正则表示式模板,第二参数:字符串类似的数据
imgurls = re.findall(pat,str(data));
# 返回数据为:数组格式
print(imgurls);
print(“图片个数:%d”%len(imgurls));
# 图片遍历下载:
i = 1;
for xyg in imgurls:
print(“第%d图片地址:%s”%(i,xyg));
print(“开始下载第%d张图片。。。”%i)
# urlretrieve:下载功能:第一个参数:文件网络地址 第二个:文件存储路径 将远程数据下载到本地
urllib.request.urlretrieve(xyg,“C:/Users/Public/Pictures/%s.jpg”%i)
print(“下载成功。。\n========================”);
i+=1;
pass
Get_data_img(data)
创建文件
import os
pathurl = “D:\catt”
if not os.path.exists(pathurl):
# 创建文件
os.makedirs(pathurl)
print(“成功创建”)
pass
else:
print(“该文件已经存在”)
pass