運用scrapy框架通過splash無頭瀏覽器爬取之settings檔案配置
阿新 • • 發佈:2018-12-19
1. 修改settings.py,配置SPLASH_URL。在這裡我們的Splash是在本地執行的,所以可以直接配置本地的地址:
SPLASH_URL = 'http://localhost:8050'
如果Splash是在遠端伺服器執行的,那此處就應該配置為遠端的地址。例如執行在IP為120.27.34.25的伺服器上,則此處應該配置為:
SPLASH_URL = 'http://120.27.34.25:8050'
2. 還需要配置幾個Middleware,程式碼如下所示:
DOWNLOADER_MIDDLEWARES = { 'scrapy_splash.SplashCookiesMiddleware': 723, 'scrapy_splash.SplashMiddleware': 725, 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810, } SPIDER_MIDDLEWARES = { 'scrapy_splash.SplashDeduplicateArgsMiddleware': 100, }
這裡配置了三個Downloader Middleware和一個Spider Middleware,這是Scrapy-Splash的核心部分。我們不再需要像對接Selenium那樣實現一個Downloader Middleware,Scrapy-Splash庫都為我們準備好了,直接配置即可。
3. 還需要配置一個去重的類DUPEFILTER_CLASS,程式碼如下所示:
DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'
4. 最後配置一個Cache儲存HTTPCACHE_STORAGE,程式碼如下所示:
HTTPCACHE_STORAGE = 'scrapy_splash.SplashAwareFSCacheStorage'