嗨喽,大家好呀~这里是爱看美女的茜茜呐
又到了学Python时刻~
动态数据抓包
requests发送请求
结构化+非结构化数据解析
python 3.8 运行代码 anaconda: jupyter notebook
pycharm 2021.2 辅助敲代码
requests 发送请求 pip install requests
parsel 解析数据 pip install parsel
发送请求
获取数据
解析数据
保存数据
源码点击 蓝色字体 自取,我都放在这里了。
import requests # 第三方模块 发送请求
import parsel
import csv
with open('天气.csv', mode='a', encoding='utf-8', newline='') as f:
csv_writer = csv.writer(f)
csv_writer.writerow(['日期','最高温度','最低温度','天气','风向','城市'])
city_list = [54511, 58362, 59287, 59493]
1. 发送请求
response = requests.get(url)
2. 获取数据
.text:
获取文本内容
.json():
获取json数据
json_data = response.json()
3. 解析数据
结构化数据: json
数据 结构化的 字典键值对的方式
html_data = json_data['data']
非结构化数据: 网页源代码 xpath
/ css
/ re
bs4
, parsel
, lxml
, re
哪个简单用哪个
table
tr
css
语法
select = parsel.Selector(html_data)
匹配到了网页当中的每个 tr
(每天的天气)
trs = select.css('table tr')
for tr in trs[1:]:
tds = tr.css('td::text').getall()
if city == 54511:
tds.append('北京')
elif city == 58362:
tds.append('上海')
elif city == 59287:
tds.append('广州')
elif city == 59493:
tds.append('深圳')
print(tds)
数据可视化
4. 保存数据
with open('天气.csv', mode='a', encoding='utf-8', newline='') as f:
csv_writer = csv.writer(f)
csv_writer.writerow(tds)
效果
源码、数据集点击 蓝色字体 自取,我都放在这里了。
文章看不懂,我专门录了对应的视频讲解,本文只是大致展示,完整代码和视频教程点击下方蓝字
点击 蓝色字体 自取,我都放在这里了。
感谢你观看我的文章呐~本次航班到这里就结束啦
希望本篇文章有对你带来帮助 ,有学习到一点知识~
躲起来的星星也在努力发光,你也要努力加油(让我们一起努力叭)。
最后,博主要一下你们的三连呀(点赞、评论、收藏),不要钱的还是可以搞一搞的嘛~
不知道评论啥的,即使扣个6666也是对博主的鼓舞吖 感谢