2017-04-08 5 views
0

Insbesondere bin ich versucht, diese ganze Seite zu kratzen, aber ich bin nur einen Teil davon bekommen:Scrape gesamte Scrollen Lastseite mit Python Requests

http://store.nike.com/us/en_us/pw/mens-shoes/7puZoi3?ipp=120

wenn ich benutze:

r= requests.get('http://store.nike.com/us/en_us/pw/mens-shoes/7puZoi3?ipp=120') 

es wird nur die „sichtbare“ Teil der Seite, da mehr Elemente laden, wie Sie nach unten

scrolle ich weiß, es gibt einige Lösungen in PyQT wie folgt aus:

Repeatedly scroll to the bottom of a page using PyQt QWebKit

aber ist es eine Möglichkeit, Python-Anfragen nach unten scrollen einer Webseite kontinuierlich zu haben, bis alle Elemente laden?

Antwort

1

Sie können die Seitennetzaktivität mit der Browserentwicklungskonsole (F12 - Netzwerk in Chrome) überwachen, um zu sehen, welche Anfrage die Seite beim Abwärtsscrollen macht, verwenden Sie diese Daten und reproduzieren Sie die Anfrage mit requests. Als Alternative können Sie verwenden, um einen Browser programmgesteuert zu steuern, um nach unten zu blättern, bis die Seite beendet ist, und dann den HTML-Code zu speichern.

Ich glaube, ich die richtige Anfrage

Request URL:http://store.nike.com/html-services/gridwallData?country=US&lang_locale=en_US&gridwallPath=mens-shoes/7puZoi3&pn=3 
Request Method:GET 
Status Code:200 OK 
Remote Address:87.245.221.98:80 

Anfrageheaders

Provisional headers are shown 
Accept:application/json, text/javascript, */*; q=0.01 
Referer:http://store.nike.com/us/en_us/pw/mens-shoes/7puZoi3?ipp=120 
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 
X-NewRelic-ID:VQYGVF5SCBAJVlFaAQIH 
X-Requested-With:XMLHttpRequest 
gefunden

Es scheint, dass Abfrageparameter pn bedeutet die aktuelle "Unterseite". Aber Sie müssen die Antwort immer noch richtig verstehen.

Verwandte Themen