2016-03-22 52 views
1

我需要刮掉一個網頁,這是一個javascript呈現的AngularJS應用程序。該網站的開發人員以隱私瀏覽模式檢測Safari/Firefox,並禁止使用它,因此被刮掉。當您不在私人模式下時,該頁面適用於Safari/Firefox。Scrapy可以與Chrome瀏覽器一起使用嗎?

有趣的是,在私人模式下使用Chrome時沒有給出這樣的警告。我正在使用Scrapy + Selenium,但我真的希望使用ScrapyJS/Splash來完成此項目。但是,看起來Scrapy/Splash組合受到網站隱私瀏覽牆的影響。

是否可以告訴Scrapy使用Chrome?我知道Selenium有很多驅動程序,關於如何使用每個驅動程序都有很好的文檔記錄,但是如果Scrapy支持其他瀏覽器或者其他人已經這樣做了,我找不到任何信息。谷歌/搜索引擎搜索也沒有爲我說明這一點。

+0

您是否嘗試更改用戶代理? http://stackoverflow.com/questions/18920930/scrapy-python-set-up-user-agent –

+0

是的,我在Scrapy'settings.py'文件中試過這個,它似乎沒有效果。我嘗試了一些已知的Chrome/Firefox/Safari代理以及一些「Scrapy成爲好公民」的用戶代理。 – Randy

+0

您是否嘗試過使用硒的'chrome driver'? – Rahul

回答

2

Starting from Splash 2.0,您可以禁用私人模式(默認爲「開啓」)。

有兩種方法去做:

  • 在啓動時,用--disable-私人模式的說法,例如,如果你使用的碼頭工人:

    $ sudo docker run -p 5023:5023 -p 8050:8050 -p 8051:8051 scrapinghub/splash --disable-private-mode 
    
  • 在運行時使用/execute端點和設置splash.private_mode_enabled=false

此外,採取的禁止私模的影響注:

請注意,如果您禁用私密模式瀏覽等數據保存在本地存儲請求之間可能會持續餅乾或項目。

相關問題