由于requests模塊是一個(gè)不完全模擬瀏覽器行為的模塊,只能爬取到網(wǎng)頁(yè)的HTML文檔信息,無(wú)法解析和執(zhí)行CSS、JavaScript代碼,因此需要我們做人為判斷;
1、什么是selenium
selenium最初是一個(gè)自動(dòng)化測(cè)試工具,而爬蟲中使用它主要是為了解決requests無(wú)法執(zhí)行javaScript代碼的問(wèn)題。
selenium模塊本質(zhì)是通過(guò)驅(qū)動(dòng)瀏覽器,完全模擬瀏覽器的操作,比如跳轉(zhuǎn)、輸入、點(diǎn)擊、下拉等,來(lái)拿到網(wǎng)頁(yè)渲染之后的結(jié)果,可支持多種瀏覽器;由于selenium解析執(zhí)行了CSS、JavaScript所以相對(duì)requests它的性能是低下的;
2、selenium的用途
(1)、selenium可以驅(qū)動(dòng)瀏覽器自動(dòng)執(zhí)行自定義好的邏輯代碼,也就是可以通過(guò)代碼完全模擬成人類使用瀏覽器自動(dòng)訪問(wèn)目標(biāo)站點(diǎn)并操作,那我們也可以拿它來(lái)做爬蟲。
(2)、selenium本質(zhì)上是通過(guò)驅(qū)動(dòng)瀏覽器,完全模擬瀏覽器的操作,比如跳轉(zhuǎn)、輸入、點(diǎn)擊、下拉等...進(jìn)而拿到網(wǎng)頁(yè)渲染之后的結(jié)果,可支持多種瀏覽器