使用场景
工作中需要及时更新全量线站口数据 ~~~
研究城市地铁分布和数据 ~~~
整体方案
- 地铁线站:高德地铁页面获取全国地铁线、站数据。百度也有地铁页面,但是百度的比较难抓取。 高德地图 | 地铁图 (amap.com)
- 地铁口:根据地铁站坐标,使用百度周边搜索API,以地铁站坐标中心去获取地铁口。因为业务需要百度地铁口和坐标,所以用的百度API,用高德API接口逻辑也一样。地点检索 | 百度地图API SDK (baidu.com)
- 存储:Airflow 实现每周定期获取,并存储到HDFS(本文不涉及)
代码开发
1.获取地铁线站数据
核心指标:城市、地铁线名称、地铁线id、地铁站名称、地铁站id、地铁站序号、地铁站坐标(高德坐标转为百度坐标)
# # 所用到的包
import json
import logging
import math
import re
import time
from datetime import date, datetime, timedelta
import bs4
import pandas as pd
import requests
import numpy as np
from retrying import retry