剛學爬蟲的,都覺得,哇,selenium好強大,所見即可爬,什麼ajax請求,什麼js,我selenium加chromedriver全搞定。
其實不是的,selenium它並不萬能,不可否認它的確強大,方便。但,隨着爬蟲學習和使用越來越深入,你會發現,selenium的弊端越來越多。
一:效率問題
從啓動,到模擬種種用戶行爲,他都沒有直接訪問接口快。
二:資源浪費
爬蟲部署在服務器,大量爬蟲啓動,極其消耗資源,你在開幾個selenium,分分鐘爆炸。所以,進公司,基本見不到selenium的蹤跡。
三:能被識別
雖然selenium模擬瀏覽器進行用戶行爲,但其實他還是會被識別。比如淘寶的模擬登陸。
等等吧,這些也就是一部分。
那它到底有什麼用呢?
其實,用處也不少。
比如:我們需要cookies,一個cookies足夠用半個月,那其實,我半個月跑一次代碼做個模擬登陸,獲取cookies,並不會產生上面的影響,
比如:我們需要參數,這個參數又是和瀏覽器有關的生成參數。如:土豆視頻的ckey,那我獲取一個ckey大概可以用100次,我維持數據庫有20條,缺了在運行,也不會有上面的弊端。
selenium,是一個很神奇的工具,它對爬蟲有很大的幫助,但爬蟲卻不能依賴它而活。
更多技能,才能爬到更多數據。