用在8684的爬取公交线路名称,向高德开放平台请求具体线路信息,并生成线路图(Python)

此程序首先是通过8684爬取公交路线名,然后用名称向高德开放平台请求关键字搜索服务,获取详细信息(如:站点信息,坐标,运行时间等),最后在地图上输出一条线路的路线图

网上有很多类似的博客教程(尤其是csdn我就是在这里找到灵感的),但都过时了目前一个都运行不了,秉承着互联网的分享精神(我自己也是在网上找找改改代码的)所以我通过写博客分享出去

github上我上传了完整的代码文件,考虑到不是每一个看csdn的人都有梯子会翻墙,我最后放一个网盘吧

GitHub - Wang-aoze/Crawling-bus-routes-CN-: Crawl the bus route name at 8684 and request specific information about the route from Gaode (such as stations, coordinates, running time, etc.), and finally generate a route map on the map

链接:https://pan.baidu.com/s/1C7fyx9xFZ0Chw0Zf2nMESg?pwd=kj0s 
提取码:kj0s 

test文件为爬取主程序,爬取的线路名会生成data_(city).txt 我放了一个济南的提供参考,程序自带一个检查是否有重复文件的判断,不建议忽略该功能。取会导致重复数据固定在txt里,另外!8684爬取到的信息不完全准确,请注意

注意事项:无论是8684网站抓取的关键字、还是高德开放平台的url都有更新的可能,不保证永远可用。其他博客的代码不能用基本都是因为高德的url更新了,而高德开放平台技术文档又没有全部的url信息,所有这个url我是自己一个个试出来的。如果无法运行优先考虑是否是以上问题。另外高德开发平台个人认证者每日请求的配额少得可怜,我为了能一次获取一个城市数据,找了12个人帮我申请key,同时调用这12个key,为了他人隐私我将key删除了,自己申请key写进去吧,在111行

生成的公交详细信息保存在城市公交路线.csv 我放了一个济南的提供参考

最后map.py是生成路径图的,同理需要高德开放平台的key(我把我自己的key留在上面了,应该可以直接运行测试),生成在map文件夹(自己在根目录新建一个文件夹) )里的http文件,不知道为什么打开很慢需要挂梯子(同上放了一个参考文件)

另外:get_line(7).py文件是一个包含了pyqt界面的集合代码,毕竟我做这个的初衷是为了课程设计,界面及搜索等功能设计的很简陋(仅支持模糊搜索)。我没时间做到了,外加这不是我负责的内容懒得弄了有兴趣的可以自己完善一下,爬取部分的代码与之前一致,仅暴力整合进去了而已。没有兴趣的下载,用test.py即可

个人课设作品,才疏学浅,请多见谅。如需解答联系:wang.aoze.mail@gmail.com

 这是济南31路公交的运行线路图

我知道网上有很多其他文章能生成出一整个城市的路线图,但是那太吃高德开放平台申请的key配额了,不现实(其实用这个办法获取城市全部的公交信息更不现实,我自己实在是没回头路了,才想出用12个人的key的昏招)。尤其是看这篇文章的你也是在为了课设的话,那就是在宝贵的日子里浪费宝贵的每日配额

如果我哪天有空心血来潮的话,做一个试试。做出来的话我会更新文章,我要是懒的弄的话就算了

  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值