我正在尝试获取从此网站搜索返回的所有可用商店的列表。
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 响应。
关于javascript - 屏幕抓取分页数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38133149/