前言
嗨喽,大家好呀~这里是爱看美女的茜茜呐
需要知识点 :
-
动态数据抓包
-
requests发送请求
-
结构化+非结构化数据解析
开发环境 :
-
python 3.8 运行代码
-
pycharm 2022.3.2 辅助敲代码 专业版
-
requests 发送请求 pip install requests
-
parsel 解析数据 pip install parsel
第三方模块安装方法:
win + R 输入cmd 输入安装命令 pip install 模块名
(如果你觉得安装速度比较慢, 你可以切换国内镜像源)
👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~
素材、视频教程、完整代码、插件安装教程我都准备好了,直接在文末名片自取就可
需求 :
-
python代码去访问这个数据来源
-
将里面的我们所需要的天气信息提取出来
所有的数据都在tr里面
-
保存天气信息
-
不同月份采集 / 年份 / 城市
代码展示
import requests # 导入用来访问网站的库 第三方库
import parsel # 第三方库 你的python环境 得安装好了
import csv # 内置库 不需要安装
# 新建一个csv表格文件
f = open('tianqi.csv', mode='a', encoding='utf-8', newline='')
# 使用csv写入数据
csv_writer = csv.writer(f)
csv_writer.writerow(["日期", "最高温度", "最低温度", "天气", "风向", "城市"])
city_list = [54511, 58362, 59287, 59493, 58457]
for city in city_list:
city_name = ""
if city == 54511:
city_name = "北京"
elif city == 58362:
city_name = "上海"
elif city == 59287:
city_name = "广州"
elif city == 59493:
city_name = "深圳"
elif city == 58457:
city_name = "杭州"
for year in range(2013, 2023):
for month in range(1, 13):
# 1. 发送请求
源码、解答、教程、资料加V:qian97378免费领
url = f"https://****/Pc/GetHistory?areaInfo%5BareaId%5D=54511&areaInfo%5BareaType%5D=2&date%5Byear%5D={year}&date%5Bmonth%5D={month}"
response = requests.get(url=url)
# 2. 获取数据
json_data = response.json()
html_data = json_data['data']
# 网页代码
# print(html_data)
select = parsel.Selector(html_data)
trs = select.css('tr')
# 什么都不会, 什么都想做?
# 抱有这种心态一定是做不好的
# 爬虫是可见即可爬 不能破解 也不准破解
for tr in trs[1:]:
tds = tr.css('td::text').getall()
tds.append(city_name)
print(tds)
csv_writer.writerow(tds)
尾语
感谢你观看我的文章呐~本次航班到这里就结束啦 🛬
希望本篇文章有对你带来帮助 🎉,有学习到一点知识~
躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。