我已拿到从16年至今此网站能提供的城市迁徙大数据,请自行确认自己想要的城市此网站是否提供,部分三四线城市不提供
还有一点:网站不提供具体人数,如果需要具体人数的话我有联通的2020年1-6月份的扩样后的具体人数数据
如需数据请加我qq,在我博客的其他文章里可以找到
爬取简单思路:
1、获取URL
2、遍历从19年至今的日期
3、访问URL,记得捕获异常,不然有可能会断掉
4、抓完还需要处理数据成csv或者Excel
import os
from datetime import datetime, timedelta
import requests
from utils.read_write import writeOneJson
from utils.time_change import getBetweenDay
os.chdir(r'D:\data\高德迁徙\迁徙意愿json\\')
headers = {
"User-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0"}
# 发送请求
def requerts_url(url, riqi):
try:
response = requests.get(url, timeout=1000, headers=headers)
json = eval(response.text)
writeOneJson(json, riqi + ".json")
except Exception as e:
print(datetime.now())
print(e)
print(url)
begin_date = datetime.strptime(riqi, "%Y-%m-%d")
begin_date += timedelta(days=1)
date_change(riqi)
city_list = []
# 先将数据下载为Json文件
def city_range(riqi):
file = "城市迁徙意愿_" + "_" + riqi + ".json"
if not os.path.exists(file):
firsturl = "https://trp.autonavi.com/cityTravel/line.do?adcode=100000&dt={}&willReal=WILL&size=200".format(riqi)
requerts_url(firsturl, riqi)
def date_change(date):
date_list = getBetweenDay(date)
for riqi in date_list:
print(riqi)
city_range(riqi)
if __name__ == '__main__':
date_change('2019-01-01')
喜欢请一键三连
转载:https://blog.csdn.net/qq_30803353/article/details/111573389
查看评论