我试图从一个网站上抓取一些数据,但收效甚微。基本上,谷歌地图上覆盖了一条路线,每当您将鼠标悬停在地图的特定部分(总共约 200 个)上时,它就会从数据库中获取 7 个字段并在屏幕上显示它们。手动制作一张地图大约需要 30 分钟,而且非常不精确。我想抓取大约 10,000 条地图路线,因此手动执行此操作是不现实的。有没有一种相对简单的方法可以自动化这个过程?
将鼠标悬停在生成的数据上
数据挖掘
刮
2022-02-12 20:42:57
1个回答
我已经构建网络爬虫 5 年多了,我不得不说网络爬虫很少“相对简单”,这仅仅是因为每个网站都非常独特。如果您知道自己在做什么,通常每个站点至少需要 10 个小时来编写您的爬虫代码。
每当您必须与正在抓取的页面进行交互时,我推荐 Selenium。它是开源的,适用于大多数主要语言,包括 Python、Java 和 Scala。可以移动鼠标,但我认为在您的情况下,直接调用由鼠标移动触发的 javascript 可能更容易。您的网络爬虫将遍历所有可悬停的 html 元素并在每个元素上调用悬停 javascript。然而,魔鬼在细节中,在你得到最终解决方案之前,你需要在 Stackoverflow 上发布很多问题并进行大量谷歌搜索。
我听说 Google 为其地图功能提供了 API。那可能会容易很多。