由于我本人没有任何编程基础,而且设定的目标是爬取全国三百多个城市之间的行驶距离,且目前手头也仅有这些城市的txt,所以今天遇到许多难点。
首先是怎么获取城市之间的行驶距离,其次是怎么将excel导入python,还有就是怎么建立城市之间的od关系(虽然说起来很糗,但真的小白总是流血流泪...),这是主要的三个问题。
当然其他还有很多小问题,比如打开pycharm想要import pandas、itertools啥的,很多都是灰色,最后室友提醒是很多运行包我都没安装。回顾整个历程,从早上九点多到此刻下午四点,总体是非常磕磕绊绊。
以Gavin_Sunny的《Python利用百度地图获取两地距离 最详细过程和源代码》这篇文章中的代码为基础,借助了python的itertools中的combinations也就是排列组合最后形成了两个城市之间的od对应关系,最终得到了答案,唯一问题就是运算过程挺慢的,亲测四十个城市计算大概八百条结果,用时八分钟左右。
一开始的准备工作比如申请百度开放平台的ak密钥这一步按下不表,主要运用其中的地点检索服务以及批量算路服务两个web api。
主代码如下:
# 本次整体的源代码
AK = 'NAwGuQe2WmQ7RSdvQIafcZ0Kjnv8Aldc'
# 需要用到的模块:pandas、requests