2016-03-22 2 views
1

Ich muss eine Webseite kratzen, die eine javascript-gerenderte AngularJS-App ist. Die Entwickler der Website erkennen Safari/Firefox im privaten Browser-Modus und verbieten die Verwendung und somit das Scrapen. Die Seite funktioniert mit Safari/Firefox, wenn Sie sich nicht im privaten Modus befinden.Kann Can Scrapy mit dem Chrome Browser verwendet werden?

Das Interessante ist, dass keine solche Warnung gegeben wird, wenn Sie Chrome im privaten Modus verwenden oder nicht. Ich benutzte Scrapy + Selenium, aber ich hoffte wirklich, ScrapyJS/Splash für dieses Projekt zu verwenden. Es sieht jedoch so aus, als ob die Scrapy/Splash-Kombination an der privaten Browser-Wand der Website leidet.

Ist es möglich, Scrapy zu sagen, Chrome zu verwenden? Ich weiß, Selen hat ziemlich viele Treiber, und es ist ziemlich gut dokumentiert, wie man sie benutzt, aber ich kann keine Informationen darüber finden, ob Scrapy andere Browser unterstützt oder ob jemand anderes dies bereits getan hat. Google/SO-Suchanfragen haben dies auch für mich nicht beleuchtet.

+0

Haben Sie versucht, den User Agent zu ändern? http://stackoverflow.com/questions/18920930/scrap-ypython-setup-user-agent –

+0

Ja, ich habe dies in der Scrapy 'settings.py' Datei versucht und es schien keinen Effekt zu haben. Ich habe ein paar bekannte Chrome/Firefox/Safari-Agenten sowie einige "Scrapy be a good citizen" -Benutzer ausprobiert. – Randy

+0

Haben Sie versucht, selen 'chrome driver' zu verwenden? – Rahul

Antwort

2

Starting from Splash 2.0 können Sie den privaten Modus deaktivieren (der standardmäßig aktiviert ist).

Es gibt zwei Möglichkeiten, darüber zu gehen:

  • beim Start mit dem disable-private-Modus Argumente, zum Beispiel, wenn Sie Docker verwenden:

    $ sudo docker run -p 5023:5023 -p 8050:8050 -p 8051:8051 scrapinghub/splash --disable-private-mode 
    
  • zur Laufzeit bei der Verwendung der Endpunkt- und /executesplash.private_mode_enabled=false

Einstellung Beachten Sie auch, dass der private Modus deaktiviert wird:

Beachten Sie, dass beim Deaktivieren des privaten Browsers Daten wie Cookies oder Objekte im lokalen Speicher zwischen den Anfragen bestehen bleiben können.