2016-06-30 11 views
1

Ich versuche, eine Liste aller verfügbaren Geschäfte von der Suche auf dieser Website abgerufen zu bekommen.Screen-scrape paginierte Daten

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

Das Problem ist, dass es wieder nur 4 oder 5 zu einem Zeitpunkt zurückkehrt, und nicht über die Option für ‚Alle anzeigen‘. Ich versuchte, Post Man in Chrome und AutoPager in Firefox zu verwenden, um zu sehen, ob ich irgendwie alle Daten im Hintergrund sehen konnte, aber das konnte ich nicht. Ich habe auch JSON-Interception-Tools untersucht, da ich glaube, dass die Site JSON im Return-Set verwendet, aber ich konnte keine der tatsächlichen Daten finden, die ich benötigte.

In der Vergangenheit war ich in der Lage, "Druckvorschau" zu treffen und die Liste auf diese Weise zu greifen (dann habe ich einfach in Excel kopiert und einige benutzerdefinierte Makros ausgeführt, um die Daten zu entfernen), aber die druckerfreundliche Version ist gegangen jetzt auch.

Irgendwelche Ideen zu Tools, mit denen ich alle gefundenen Stores exportieren könnte, insbesondere für größere Return-Sets?

Antwort

0

Sie möchten diese Anfrage bearbeiten: https://www.metropcs.com/apps/mpcs/servlet/genericservlet

Sie finden die Seite bemerken sendet diese (unter anderem) als Antrag auf diese 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"} 

Sie müssen manipulieren die Breite und die lange Begrenzungsbox, um den gewünschten Bereich zu umfassen. (Die gesamte USA ist etwas wie [-124.848974, 24.396308] bis [-66.885444, 49.384358])

In Ihrem bevorzugten Browser sollte es einfach genug sein, die Anfrage zu optimieren, um eine JSON-Antwort mit dem zu bekommen, was Sie benötigen.

Verwandte Themen