【问题标题】:How to scrape location data from an online leaflet map?如何从在线传单地图中抓取位置数据?
【发布时间】:2021-09-02 15:49:14
【问题描述】:

我想访问此站点https://newspapermap.com 中用于标记的位置,但是当我检查地图时找不到包含它的 HTML 标记。这是一张传单地图,用JS做的,但我不知道如何逆向工程才能把它变成那样。

任何指导都会很棒。

【问题讨论】:

  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: javascript html web-scraping leaflet


【解决方案1】:

数据从https://pap.as/api/index.php/records/newspapermap?include=lat,lng,n,u,l加载,然后存储在浏览器的localStorage中。

如果您为该页面手动清除浏览器的localStorage,您将在网络检查器中看到该 URL。

【讨论】:

  • 在那里找到了整个 .json!非常感谢。
【解决方案2】:

该位置在leaflet-popup leaflet-zoom-animated div 类内,在h3 标记中。

检查元素时使用搜索功能搜索leaflet-popup leaflet-zoom-animated

要全部获取它们,我会选择 leaflet-popup leaflet-zoom-animated 的所有实例,例如使用 css 选择器,然后遍历它们以将所有 h3 标记提取到列表中。

附:确保您使用的是 Selenium 或其他可以处理动态网站的库。

【讨论】:

  • 那个组合把我带到了弹出窗口,但内容只有 h3 内报纸的名称,坐标没有打印,但有时它们会显示在地址栏中。
  • @TwoPointNo 这很奇怪,它应该给出位置。尝试降低层次结构。所以在leaflet-popup leaflet-zoom-animated 中尝试提取leaflet-popup-content然后h3 标签。获得位置名称后,您可以使用地理定位器库(例如 Python 中的 geopy)使用城市名称来检索坐标。
  • 好主意,它只是试图跳过这个额外的步骤,因为我可以看到它的坐标到办公室地址级别,这很酷。
猜你喜欢
  • 2018-10-14
  • 2019-08-23
  • 2019-06-26
  • 2017-09-27
  • 2020-11-11
  • 2020-05-21
  • 2015-08-23
  • 1970-01-01
  • 2023-02-05
相关资源
最近更新 更多