屏幕抓取分页数据

Screen-scrape paginated data

本文关键字:数据 分页 抓取 屏幕      更新时间:2023-09-26

我正试图从这个网站的搜索中获取所有可用商店的列表。

https://www.metropcs.com/find-store.html.html

问题是它一次只返回4或5个,并且没有"查看所有"的选项。我尝试在Chrome中使用Post Man,在Firefox中使用AutoPager,看看我是否能在后台看到所有的数据,但我不能。我也在研究JSON拦截工具,因为我相信该网站在返回集中使用JSON,但我无法找到我需要的任何实际数据。

在过去,我能够点击"打印预览"并以这种方式抓取列表(然后我只是复制粘贴到Excel并运行一些自定义宏来删除我需要的数据),但打印机友好的版本现在也消失了。

有什么工具可以让我导出所有找到的商店,特别是对于较大的返回集吗?

你想处理这个请求:https://www.metropcs.com/apps/mpcs/servlet/genericservlet

你会注意到页面将这个(和其他东西)作为请求发送到那个URL:

inputReqParam=
  {"serviceProviderName":"Hbase","expectedParams":
     {"Corporate Stores":...Truncated for clarity...},
   "requestParams":
     {"do":"json",
      "minLatitude":"39.89234063913044",
      "minLongitude":"-74.85258152641507",
      "maxLongitude":"-74.96578907358492",
      "maxLatitude":"39.979297160869564"
     },
   "serviceName":"metroPCSStoreLocator"}

您需要操作长边框和宽边框来包含您想要的区域。(整个美国大概是[-124.848974,24.396308]到[-66.885444,49.384358])

在您最喜欢的浏览器中,应该很容易调整请求以获得您所需要的JSON响应。