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 :
Dies funktioniert wie dokumentiert. Aber wie können wir meta
innerhalb der Scrapy Shell verwenden?
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.
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.
Tags und Links python web-scraping scrapy scrapy-splash scrapy-shell