[Python & 百度地图] WEB服务API调用爬虫实时交通态势

  • Post author:
  • Post category:python


import pandas as pd
import requests
key = 'xxx' #百度地图自己申请的key
radius = 200 #查询半径

#制作表头
road_information_head = [['status','description','tra_status','status_desc','road_traffic']]
#保存已解析好的表
save_path = "交通态势.csv"
df = pd.DataFrame(road_information_head)
df.to_csv(save_path,mode='a',header=False,index=False,encoding='ANSI') #正确数据名称,追加写入

#建立坐标集
coor_information = [['116.440291','39.951588'],['116.440291','39.948906']]
for i in range(len(coor_information)):
    x = coor_information[i][0]
    y = coor_information[i][1]
    
    #构建url并访问
    url = 'http://api.map.baidu.com/traffic/v1/around?ak='+str(key)+'&center='+str(y)+','+str(x)+'&radius='+str(radius)+'&coord_type_input=wgs84&coord_type_output=gcj02'
    r = requests.get(url)
    r.close() #断开访问,如果建立过多访问,会被认为是攻击行为,被服务器强制断开
    data = r.json()
    
    status = data['status']
    description = data['description']
    tra_status = data['evaluation']['status']
    status_desc = data['evaluation']['status_desc']
    road_traffic = data['road_traffic']
    road_information = [[status,description,tra_status,status_desc,road_traffic]]

    #保存
    save_path = "交通态势.csv"
    df = pd.DataFrame(road_information)
    df.to_csv(save_path,mode='a',header=False,index=False,encoding='ANSI')



版权声明:本文为weixin_46425954原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。