【python实验报告】用urllib来爬取网站页面中的图片和视频

来源:互联网 发布:文明5美丽新世界 mac 编辑:程序博客网 时间:2024/06/10 13:00

在python中,有很多方法都可以实现网站页面中的图片和视频的爬取,urllib是其中的一种。

爬取图片

一. 实验目的

熟悉用urllib爬取图片的用法

二. 实验环境

python3.6、urllib包、re包

三. 实验步骤

import urllibimport urllib.requestimport reimport timeurl = "http://tu.duowan.com/m/meinv"headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36'} #模拟浏览器访问#1.根据URL获取页面源码request = urllib.request.Request(url, headers=headers)response = urllib.request.urlopen(request)html = response.read().decode('utf-8')#2.通过正则表达式匹配出页面中符合要求的图片地址pattern = re.compile(r'http://[\S]*\.jpg') #当前只匹配jpg格式的图片lists = re.findall(pattern, html)#3.根据图片地址下载图片到本地目录print("图片下载开始!")num = 1for item in lists:    urllib.request.urlretrieve(item, 'pic/' + str(num) + '.jpg') #pic目录需要预先建好,否则会报错    print("正在下载第%s张图片"%num)    if num == 12: # 只下载12张图片        break    time.sleep(1) #为了防止请求过快    num += 1print("图片下载结束!")

四. 实验结果

实验结果

五. 实验总结

用urllib来爬取网站中的图片很简单,主要分为3步:
1. 根据URL获取页面源码
2. 通过正则表达式匹配出页面中符合要求的图片地址
3. 根据图片地址下载图片到本地目录

本例中还有很多需要完善的地方,比如:异常处理、用os库新建本地文件夹、匹配所有类型的图片、代码如何改成面向对象等。

视频的爬取方法跟图片完全一样,只是扩展名不同。

0 0
原创粉丝点击