Scrapy Shell und Scrapy Splash

9

Wir haben scrapy-splash Middleware verwendet, um die geschrotete HTML-Quelle über die Splash javascript-Engine zu übergeben in einem Andock-Container.

Wenn wir Splash in der Spinne verwenden möchten, konfigurieren wir mehrere erforderliche Projekteinstellungen und geben eine% co_de ein % spezifiziert spezifische Request Argumente :

%Vor%

Dies funktioniert wie dokumentiert. Aber wie können wir meta innerhalb der Scrapy Shell verwenden?

    
alecxe 11.02.2016, 23:56
quelle

2 Antworten

12

Umschließen Sie die URL, die Sie shell möchten, in splash http api .

Sie möchten also etwas wie:

%Vor%

Wo localhost:port ist, wo dein Splash-Dienst läuft
url ist die URL, die du crawlen willst und vergiss urlquote nicht!
render.html ist eine der mögliche HTTP API Endpunkte, retournierte HTML Seite in diesem Fall
timeout Zeit in Sekunden für Zeitlimit
wait Zeit in Sekunden, um auf Javascript zu warten, bevor das HTML gelesen / gespeichert wird.

    
Granitosaurus 12.02.2016, 09:54
quelle
11

Sie können scrapy shell ohne Argumente innerhalb eines konfigurierten Scrapy-Projekts ausführen, dann req = scrapy_splash.SplashRequest(url, ...) erstellen und fetch(req) aufrufen.

    
Mikhail Korobov 20.04.2016 13:42
quelle