我正在寻找一种关于如何自动从“我的谷歌地图”检索数据的通用方法。虽然我可以轻松地将任何给定图层导出到 KML/KMZ,但我正在寻找一种在更大的脚本中执行此操作的方法,这将使该过程自动化。最好是,我什至不必登录地图本身即可完成数据拉取。
我正在考虑的两个可能的选择是 1) 使用 Selenium/Beautiful Soup 模拟 Google 地图上的页面点击并导出 KMZ 或 2) 使用 Python Google Maps API。不过,我不确定这个 API 是否可以通过脚本下载 Google 地图图层。
需要明确的是,数据已经在地图中 - 我只是在寻找导出它的方法。它可以是 KMZ 导出,或者更好的是 GeoJSON。
我使用浏览器的检查功能来了解我有兴趣从中获取数据的网站的幕后情况,这使我找到了这个解决方案。
我使用 Selenium 登录并导航该网站,然后将我的 cookie 传输到 Python 的 Requests 包。我让 Requests 向服务器发送特定查询,其响应采用 JSON 形式。通过前面提到的检查功能,我能够弄清楚要发送什么查询以及响应的形式。收到 JSON 格式的响应后,我使用 Python 的 JSON 包将其转换为 Python 字典,以便根据需要使用。
听起来您可能不一定需要 Selenium,但听起来 Requests 包对您的用例很有用。我认为你的第一步是弄清楚当你自然地与网站交互以获得你想要的东西时服务器响应的形式是什么。
希望这能在某种程度上有所帮助!