〖Python网络爬虫实战㉕〗- Ajax数据爬取之Ajax 案例实战
import requests
import json
import pandas as pd
# 设置请求头信息
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Accept-Encoding': 'gzip, deflate',
'Host': 'www.aqistudy.cn',
'Referer': 'http://www.aqistudy.cn/historydata/'
}
# 设置请求的URL
url = 'http://www.aqistudy.cn/apinew/aqistudyapi.php'
# 设置请求参数
params = {
'city': '北京',
'month': '2019-12',
'type': '1',
'_': '1585935878778'
}
# 发送请求
response = requests.get(url, params=params, headers=headers)
# 检查请求是否成功
if response.status_code == 200:
# 解析JSON数据
data = json.loads(response.text)
# 提取数据并转换为DataFrame
df = pd.DataFrame(data['data'])
# 打印前几行数据
print(df.head())
# 保存数据到CSV文件
df.to_csv('beijing_air_quality_2019-12.csv', index=False)
else:
print("请求失败")
这段代码首先设置了请求头和请求的URL,然后定义了请求参数,并发送了一个GET请求。如果请求成功,它会解析返回的JSON数据,将其转换为Pandas DataFrame,打印出前几行数据,并将数据保存到CSV文件中。如果请求失败,它会打印出错误信息。这个实战案例展示了如何处理Ajax请求和解析JSON数据,是学习Python网络爬虫的一个很好的实践。
评论已关闭