2017-07-19 7 views
0

Ich verwende Scrapy-Splash-Anfragen, um einen gerenderten Screenshot einer Seite zu erhalten, aber ich brauche auch die Bilder auf dieser Seite. Ich benutze die Pipelines, um diese Bilder herunterzuladen, aber ich habe nachgedacht - sind das nicht zwei Anfragen für dasselbe Bild? Einmal wenn Splash die Seite rendert und einmal wenn ich eine Download-Anfrage sende. Gibt es eine Möglichkeit, die von der Scrapy-Splash-Anfrage zurückgegebenen Bilder zu erhalten?Bildinhalt zurücksenden von Scrapy-Splash

Antwort

1

Sie können Antwortkörper aktivieren (entweder respone_body Argument oder splash.response_body_enabled=True) und dann Bilder aus dem HAR-Export extrahieren.

+0

Danke, das funktioniert. Um genauer zu sein, hier ist ein Code, wenn jemand das nachschlägt ... Sie müssen hinzufügen "Antwort_body": 1, 'har': 1' zu 'splash_args' und das sollte Ihnen die HAR-Daten in Ihrem JSON oder har geben Endpunkt. – Akustik

+0

Wüssten Sie, wie Sie jedes Mal eine Antwort erhalten? Im Moment bekomme ich es nur beim ersten Besuch einer Seite. Ich nehme an, das passiert wegen des Splash-Cache? – Akustik

+0

Ja, das passiert wegen Cache. Derzeit gibt es keine Möglichkeit, diesen Cache zu deaktivieren. Es ist möglich, es mit dem Endpunkt [_gc] (http://splash.readthedocs.io/en/stable/api.html#gc) zu löschen, aber es ist nur ein Workaround. –

Verwandte Themen