- 新手初学,话不多说,直接放代码,需要的自取。
- 没有加每日自动运行的东西,回头研究一下。默认保存在代码目录的water_level.csv文件里,只保留了几个有用的信息。
- 回头研究一下http://www.cjh.com.cn/sqindex.html)数据,。看了一下网页,数据是存在js里的,还没有研究爬js的数据。
# -*- encoding: utf-8 -*-
'''
@File : cq_water_level.py
@Time : 2022/12/03 10:31:18
@Author : erqie
@Version : 1.0
@Contact : [email protected]
@Function: 爬取每日数据
'''
__author__ = 'erqie'
import requests
import json
url = 'http://cqsw.slj.cq.gov.cn/hydrologyapi/stRiverR/dayWaterNotice'
# 根据自己的浏览器自己修改,防止无法访问的情况。没有测试不加header会不会拒绝访问。
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36'
}
resp = requests.post(url, headers=headers)
# print(resp.text)
data_list = json.loads(resp.text)["data"]
# print(data_list)
with open('water_level.csv', 'a', encoding='utf-8') as f:
for s in data_list:
# print(f'{s.get("stcd")}----------{s.get("stnm")}--------{s.get("tm")}--------{s.get("z")}')
f.write(
f'{"".join(s.get("stcd").split())},{"".join(s.get("addvnm").split())},{"".join(s.get("stnm").split())},{"".join(s.get("tm").split())},{s.get("z")}\n'
)