python爬取百度热力图的代码
时间: 2023-10-07 14:06:46 浏览: 440
以下是使用 Python 爬取百度热力图数据的代码:
```python
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'}
# 请求百度热力图数据接口
url = 'https://huiyan.baidu.com/migration/historycurve.jsonp?dt=country&id=1&type=move_out&startDate=20190101&endDate=20211231'
response = requests.get(url=url, headers=headers)
response_str = response.text
# 解析响应数据
response_str = response_str.replace("/**/typeof BMap !== 'undefined' && BMap._rd._cbk101083 && BMap._rd._cbk101083(", "")[:-1]
response_dict = json.loads(response_str)
# 获取城市列表
cities = response_dict['data']['list']
# 将数据转为 pandas 数据框
data = []
for city in cities:
for date, count in city['data']:
data.append([city['name'], date, count])
df = pd.DataFrame(data, columns=['city', 'date', 'count'])
# 打印数据框
print(df.head())
```
这段代码可以爬取中国出境热力图数据,你可以根据自己的需要修改请求参数和解析方式。注意,这里的数据是通过解析接口返回的 JSON 字符串得到的,具体解析方式需要根据实际情况进行调整。
阅读全文