Ich versuche, einen AppStore zu durchsuchen, insbesondere die Bewertungen für jede App. Das
Problem besteht darin, dass die Überprüfungen dynamisch sind und die Clientseite einen AJAX POST-Aufruf durchführt, um diese Daten abzurufen. Die Nutzlast für diesen Aufruf wird ebenfalls dynamisch für jede Seite generiert. Ich habe mich gefragt, ob es eine Möglichkeit gibt, diese Anfrage über einen Code abzufangen, um die Nutzlast abzurufen, mit der ich einen Anruf über Anfragen oder eine andere Bibliothek tätigen könnte. Ich kann diesen Aufruf über POSTMAN mit den Parametern durchführen, die ich vom Dienstprogramm „Inspect Network Activity“ der Webbrowser erhalte.
Ich könnte Selenium verwenden, um die endgültig geladene Seite zu scrapen – aber es wartet, bis die gesamte Seite geladen ist, was höchst unoptimiert ist, da ich nicht warten muss, bis die gesamte Seite geladen ist.
Code: Select all
payload = ""
header = {"Content-Type": "application/x-www-form-urlencoded"}
url = 'https://appexchange.salesforce.com/appxListingDetail'
r = requests.post(url=url, data=payload, headers=header)
Ich habe mich gefragt, ob es möglich ist, diese Nutzlast durch den Scraper zu bekommen, der alle AJAX-Aufrufe abfangen kann, die beim Versuch, die Basiswebseite zu scrapen, abgefangen werden.