Bevor ich eine vollständige Lösung für mein Problem mit Scrapy bauen Ich veröffentliche eine vereinfachte Version von dem, was ich tun möchte:XHR Anfrage-URL sagt existiert nicht, wenn man versucht, es ist Inhalt zu analysieren
import requests
url = 'http://www.whoscored.com/stageplayerstatfeed/?field=1&isAscending=false&orderBy=Rating&playerId=-1&stageId=9155&teamId=32"'
params = {'d': date.strftime('%Y%m'), 'isAggregate': 'false'}
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36'}
response = requests.get(url, params=params, headers=headers)
fixtures = response.body
#fixtures = literal_eval(response.content)
print fixtures
Dieser Code ist sagen, dass die obige URL nicht existiert. Die URL bezieht sich auf eine XHR Anfrage, die eingereicht wird, wenn Sie aus dem ‚Overall‘ wechseln zum Tab ‚Startseite‘ der Haupttabelle auf dieser Seite:
http://www.whoscored.com/Teams/32/
Wenn Sie XHR Protokollierung in der Konsole von Google Developer aktivieren Tools können Sie sowohl die XHR-Anfrage als auch die vom Server in Form eines Wörterbuchs (das erwartete Format) gesendete Antwort sehen.
Kann mir jemand sagen, warum der obige Code die Daten, die ich erwarten würde, nicht zurückgibt?
Dank
Dank dafür, dass, wie ich gearbeitet wollte es. Ich erkannte nicht, dass ich die Teile der URL nach der Hauptadresse als spezifische Parameter spezifizieren musste und nicht nur als Teil der URL, wie sie in der Konsole angezeigt werden. Könntest du auch erklären, was die drei Zeilen nach 'User-Agent' in 'headers' tun? danke ... – gdogg371
@ user3045351 sicher, das sind Header, die vom Browser gesendet wurden, als ich es inspiziert habe. Sie können versuchen, sie einzeln zu entfernen und zu sehen, ob der Code bricht - ich denke, zumindest einige von ihnen sind nicht wirklich erforderlich. Vielen Dank. – alecxe