Scrapy-Splash爬取淘宝排行榜(一)
一 引言
日前,自己因項目需要需要爬取淘寶排行榜,而淘寶因為用了很多的AJAX技術,不能用普通的爬蟲爬取,于是我這里就想用如一些集成了PhantomJS或類似的python爬蟲框架。一開始自己嘗試了pyspider,但是自己對pysider并不是很熟練,而且網上這方面資料也很少,于是棄坑轉為自己較為熟悉的scrapy框架。經過一番搜索,在Github發現了這個,scrapy-splash,由scrapy框架開發者維護,可以作為scrapy的中間件使用,從而提供對AJAX頁面的JS解析。
二 安裝
這里不詳細說明scrapy和scrapy-splash的安裝過程,可參考下面給出的官方鏈接
scrapy框架的安裝
scrapy框架安裝
scrapy-splash安裝
scrapy-splash安裝
三 使用scrapy-splash
1.要使用scrapy-splash,可以參考官方的文檔
也參考我下面的方法(不過,我這里這是很簡單的使用了scrapy-splash,并沒有用到其他功能。如果自己還要更高階的需求,如使用redis作為消息隊列等,就必須要繼承scrapy_splash.SplashAwareFSCacheStorage,并且對url判斷使用splash自己的fingerprint scrapy_splash.splash_request_fingerprint) 所以更高階的用法還請參考官方文檔
2.配置:
1.設置下載中間件:
DOWNLOADER_MIDDLEWARES = {'scrapy_splash.SplashCookiesMiddleware': 723,'scrapy_splash.SplashMiddleware': 725,'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810, }2.設置爬蟲中間件
SPIDER_MIDDLEWARES = {'scrapy_splash.SplashDeduplicateArgsMiddleware': 100, }3.使用splash解析,要在配置文件中設置:
SPLASH_URL = 'http://127.0.0.1:8050/'4.配置消息隊列所使用的過濾類
DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'5.配置消息隊列需要使用的類
HTTPCACHE_STORAGE = 'scrapy_splash.SplashAwareFSCacheStorage'完整的配置文件可以參考這里:
淘寶爬蟲的配置文件
接下來正式爬取工作請參考下一篇博文:
Scrapy-Splash爬取淘寶排行榜(二)
總結
以上是生活随笔為你收集整理的Scrapy-Splash爬取淘宝排行榜(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 猜数字 随机生成一个1-100之间的数字
- 下一篇: Android 实现汉字转成拼音,实现L