本篇文章小编给大家分享一下利用python多线程爬取天气网站图片并保存代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
1.1 题目
指定一个网站,爬取这个网站中的所有的所有图片,例如中国气象网(www.weather.com.cn),分别使用单线程和多线程的方式爬取。(限定爬取图片数量为学号后3位)
输出信息: 将下载的Url信息在控制台输出,并将下载的图片存储在images子文件中,并给出截图。
1.2 思路
1.2.1 发送请求
构造请求头
import requests,re
import urllib
headers = {
'Connection': 'keep-alive',
'Cache-Control': 'max-age=0',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Language': 'zh-CN,zh;q=0.9',
}
url = "http://www.wea*th*er.*com.cn/"
request = urllib.request.Request(url, headers=headers)
发送请求
request = urllib.request.Request(url, headers=headers) r = urllib.request.urlopen(request)
1.2.2 解析网页
页面解析,并且替换回车,方便后续进行正则匹配图片。
html = r.read().decode().replace('n','')
1.2.3 获取结点
使用正则匹配,先获取所有的a标签,然后爬取a标签下面的所有图片
urlList = re.findall('
我的世界国际版老版
我的世界国际版正式版是一款拥有超高自由度玩法是沙盒手游,经典
我的世界国际版完整版
我的世界国际服完整版是一款十分经典好玩的mc沙盒类游戏,在海
摩托车销售模拟器内置菜单中文版
摩托车出售模拟器,又名摩托车销售模拟器,这是一个以摩托车销售
船舶模拟2020最新版
船舶模拟2020是玩法非常有意思的模拟驾驶游戏,高清3d画质
油管主播的生活2内置菜单版
油管主播的生活2内置菜单版是一款模拟养成类游戏,在这里你将体