(1)selenium+webdriver(如firefox,chrome等)。這要求你系統有對應浏覽器,并且過程中要全程開浏覽器。說白了,就是你通過浏覽器能看到啥,就能抓到啥。一般遇到特别複雜的驗證碼時,這個方法是有必要的,當然,開着浏覽器爬蟲的效率可想而知。
(2)selenium+phantomjs。phantomjs是一個webkit,他的使用方法和webdriver一樣,但是他不需要開浏覽器,你可以直接跑在無需gui的linux伺服器上,這點很贊。
splash和scrapy融合,兩種互相相容彼此的特點,抓取效率較好。
與普通的scrapy項目,使用phantomjs隻需要修改兩處
關于 htmlresponse htmlrequest 可以參考http://scrapy-chs.readthedocs.io/zh_cn/0.24/topics/settings.html#topics-settings-ref
ok ,這樣就可以了,但是由于phantomjs在下載下傳中件中,渲染網頁的同時會阻塞爬取。是以效率很低,可以參考後面的使用 scrapy-splash 來渲染頁面。