目录

  • 一.高德地图数据爬取
    • 1.爬取思路
    • 2.python核心代码
  • 二.Arcmap制图

一.高德地图数据爬取

1.爬取思路

首先,谷歌浏览器打开高德地图官网,点击上方菜单栏地铁进入地铁线路网站如下,点击进入官网:

按F12或右击检查进入调试页面,点击Network选项。在网页上先点击西安,可以发现箭头2出新增两行响应信息,鼠标左击可以发现箭头3处出现真实的请求地址等信息。

复制请求URL地址(http://map.amap.com/service/subway?_1612234237437&srhdata=6101_drw_xian.json),在浏览器新页面打开可以看见返回的是json数据,里面包含了各线路站点信息,正是我们想要的。

可以复制json数据在json在线验证网站上进行分析,以便于后续解析数据(点击进入解析网站)。如下图所示,显示的是1号线沣河森林公园站的相关信息:中文名称、经纬度(应该是火星坐标系?)、拼音名称等。

我们通过python爬虫爬取各线路各站点的名称、经纬度信息,导出到文本文件,以供后续使用。

2.python核心代码

获取网页内容

def getHtml(url):user_agent = random.choice(USER_AGENTS)headers = {"Host":"map.amap.com",'User-Agent': user_agent}try:response = requests.get(url, headers=headers)#print(response.url)text = response.contentreturn textexcept:print("爬取失败!")

解析json数据

def parse_page(text):lines_list = json.loads(text).get('l')# 地铁线路信息表lineInfo_list = []for line in lines_list:#每条线的信息集合lineInfo = {}lineInfo['ln'] = line.get('ln')print(lineInfo['ln'])#线路站点列表station_list = []st_list = line.get('st')for st in st_list:station_dict = {}station_dict['name'] = st.get('n')coord = st.get('sl')station_dict['lat'] = coord.split(',')[0]station_dict['lon'] = coord.split(',')[-1]print("站名称:", station_dict['name'])print("经度:", station_dict['lat'])print("纬度:", station_dict['lon'])station_list.append(station_dict)#passprint('-----------------------------------')lineInfo['st'] = station_listlineInfo['kn'] = line.get('kn')lineInfo['ls'] = line.get('ls')lineInfo['cl'] = line.get('cl')lineInfo_list.append(lineInfo)#返回各线路信息列表return lineInfo_list

保存站点数据(站名称、经纬度)

def save_file(filename, lineInfo):#print("开始写入文件......")with open(filename, 'a', encoding='utf-8') as f:for st in lineInfo['st']:f.write(st['name'] + "  " + st['lat'] + "  " + st['lon'] + "\n")#print("写入文件完成!")

爬取完成后,生成的数据如下:

二.Arcmap制图

思路:调用Arcpy函数生成shp文件-——>点转线——>设置符号样式——>导出图片
完整代码请点击
如下图所示属于自己的地铁线路图就制作完成了。图片估计上传后就不是原图了,又会变模糊,但是实际看起来还是比较清楚的。

更多精彩内容,请关注我的微信公众号,期待与你共同进步!

Python爬虫|高德地图地铁数据爬取与制图相关推荐

  1. python爬虫实例——某二手车数据爬取

    某二手车网站数据爬取 要求: 找到所要爬取的网站网址(url): 今天案例的网址(url):https://www.guazi.com/gy/dazhong/o1/#bread. 观察网站,点开检查, ...

  2. python爬虫案例-陶瓷公司数据爬取

    用requests爬取要注意HTTPConnectionPool(host=xxx, port=xxx): Max retries exceeded with url...异常,出现这个异常的解决方法 ...

  3. Python爬虫 —— 以北京天气数据爬取为例

    本文以北京天气为例讲解数据爬取的整个流程,不涉及网络爬虫的原理,直接讲爬取代码怎么写! 1.首先找到你要爬取的网站url:'http://www.tianqihoubao.com/lishi/beij ...

  4. Python爬虫应用实战-网站数据爬取及数据分析

    实战一:中国大学排名 前言 由于上一篇文章中教会了大家如何存储数据,但是由于篇幅过大,就没有加入实战篇.想必大家也等着急了吧,所以今天就为大家带来两篇实战内容,希望可以帮助到各位更好的认识到爬虫与My ...

  5. Python爬虫之淘宝数据爬取(商品名称,价格,图片,销量)

    代码详细注释,仅供交流与参考,不作商业用途 代码参考北京理工大学嵩天老师 import requests #导入第三方库 import re import osdef getHTMLText(url) ...

  6. Python 爬虫实战,模拟登陆爬取数据

    Python 爬虫实战,模拟登陆爬取数据 从0记录爬取某网站上的资源连接: 模拟登陆 爬取数据 保存到本地 结果演示: 源网站展示: 爬到的本地文件展示: 环境准备: python环境安装 略 安装r ...

  7. 高德地图交通态势爬取并存入MySQL数据库

    高德地图交通态势爬取并存入mysql数据库 高德地图交通态势开放api链接: 高德交通态势 高德地图交通态势使用流程: 第一步,申请"Web服务API接口"密钥(Key): 第二步 ...

  8. 【应用】Python利用高德地图经纬度数据绘制定位

    [应用]Python利用高德地图经纬度数据绘制定位 一. 背景 二. 获取API 1. 注册高德开放平台个人开发者 2. 获取key 三. 具体步骤 1. 库的导入 2. 根据地址获取经纬度 3. 绘 ...

  9. python中国大学排名爬虫写明详细步骤-Python爬虫--2019大学排名数据抓取

    Python爬虫--2019大学排名数据抓取 准备工作 输入:大学排名URL连接 输出:大学排名信息屏幕输出 所需要用到的库:requests,bs4 思路 获取网页信息 提取网页中的内容并放到数据结 ...

最新文章

  1. stm32看门狗_「正点原子NANO STM32开发板资料连载」第十一章 独立看门狗实验
  2. 推送:腾迅信鸽 VS Bmob
  3. 菜鸟学Linux 第052篇笔记 httpd-install and section2
  4. android 键盘 能复制,android – 从EditText中禁用软键盘,但仍允许复制/粘贴?
  5. C++远航之封装篇——深拷贝、浅拷贝
  6. System.gc()与Object.finalize()的区别
  7. pandas Series归一化
  8. [swift] LeetCode 234. Palindrome Linked List
  9. Windows Mobile 5.0新增API介绍(转自MSDN)
  10. Android第一个程序Say Hello To Android
  11. Java 下一代: Groovy、Scala 和 Clojure
  12. V4L2像素格式及其对应的含义
  13. win10 实现远程连接linux系统
  14. javascript编写1加到100函数
  15. 服务器数据库只读怎么修改权限,设置mysql数据库为只读权限
  16. 墨尔本计算机读研申请条件,墨尔本大学计算机硕士申请条件
  17. 《圈外课程学习记录》3.1 数据化汇报展示
  18. html母亲节主题网页源码jd
  19. MongoDB3.4 根据中文拼音给中文排序
  20. Neo4j中的OGM(Object Graph Mapping)类似于ORM(对象关系映射)

热门文章

  1. Flutter踩坑记录之setState
  2. 【操作系统】常用的调度算法
  3. 智慧视频”何以为智?看戴尔存储的“互联网思维”架构
  4. GPT4的1000+篇文章总结
  5. java 两个时间段比较
  6. 精品软件-每日更新20131015
  7. 消息队列处理高并发【转】
  8. Unity固定视角摄像机
  9. Citrix小贴纸--PVS差异vDisk.
  10. 我们宿舍里那群“禽兽”的极品笑话