2017-10-10 2 views
0

Ich benutze Python Scrapy, um den Benutzer Kommentare Kommentare zu bekommen, die mehrere Seiten haben kann und ich muss auf "Mehr" klicken, um weitere Kommentare zu sehen. Verwenden Python Scrapy zum Verschrotten der nächsten Seite Kommentare

dies ist der Link zu der Seite, die ich kriechen will: https://en.drivy.com/car-rental/berlin/dacia-dokker-218119

Ich stellt fest, wenn die Überprüfung von mehr als 10 Kommentare, ich brauche Link, um „mehr anzeigen“ klicken, um die nachfolgenden Kommentare zu erhalten. Ich bemerke auch die "mehr sehen" URL-Link https: //en.drivy.com/cars/218119/reviews?page=2 & rel = next

Wenn ich jedoch scrapy verwenden, um die https zu gehen : //en.drivy.com/cars/218119/reviews?page=2 & rel = nächste, die Website leitet mich zurück zu https: // de.drivy.com/car-rental/berlin/dacia-dokker-218119 was ich nicht wirklich die nächsten zehn Kommentare bekommen kann. (Ich frage mich, ob die Website Cookie oder Session-ID verwenden und meine scrapy als neuen Besuch identifizieren)

Ich weiß, ich kann Python Selen verwenden, um die Webseite zu öffnen und klicken Sie auf "Mehr sehen", um die Kommentare zu erhalten, jedoch Selen ist sehr langsam und ich wünschte, ich könnte stattdessen Scrapy benutzen.

Könnte mir jemand dabei helfen? oder gib mir wenigstens eine Richtung, um fortzufahren? Danke im Voraus.

Antwort

0

Sie sollten "Accept: */*;q=0.5, text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" Header festlegen. Sie fangen ein JS-Objekt ein, das Texte von Kommentaren enthält.

yield Request("https://en.drivy.com/cars/218119/reviews?page=2&rel=next", parse = ..., ..., headers={'Accept': "*/*;q=0.5, text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"})

+0

danke für die Antwort. Ich habe versucht, indem Sie den Header wie von Ihnen gezeigt setzen. jedoch erhalte ich diesen Fehler 2017-10-10 16:24:45 [scrapy.downloadermiddlewares.retry] DEBUG: Wiederholen (1 mal fehlgeschlagen): 500 Interner Server Fehler – huahz

+0

Haben Sie andere Header (insbesondere X-CSRF-Token) eingebunden? –

+0

nachdem ich den Token einschließe, funktioniert es! genial! – huahz

Verwandte Themen