屏幕抓取分页数据

时间:2016-06-30 20:58:37

标签: javascript ajax screen-scraping

我试图获取从本网站搜索返回的所有可用商店的列表。

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

问题是它一次只返回4或5,并且没有选择'查看全部'。我试图在Chrome中使用Post Man和在Firefox中使用AutoPager来查看我是否可以在某种程度上看到后台的所有数据,但我无法做到。我也在研究JSON拦截工具,因为我相信该网站在返回集中使用JSON,但我无法找到我需要的任何实际数据。

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

有关允许我导出所有商店的工具的任何想法,特别是对于较大的退货集?

1 个答案:

答案 0 :(得分:0)

您想要操纵此请求: 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"}

您需要操纵lat和long边界框以包含所需的区域。 (整个美国就像[-124.848974,24.396308]到[-66.885444,49.384358])

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