Scrapy爬蟲(chóng)教程四 Scrapy+Selenium有瀏覽器界面模擬登錄知乎

Scrapy爬蟲(chóng)教程一 Windows下安裝Scrapy的方式和問(wèn)題總結(jié)

Scrapy爬蟲(chóng)教程二 淺析最煩人的反爬蟲(chóng)手段

Scrapy爬蟲(chóng)教程三 詳細(xì)的Python Scrapy模擬登錄知乎

Scrapy爬蟲(chóng)教程四 Scrapy+Selenium有瀏覽器界面模擬登錄知乎

Scrapy爬蟲(chóng)教程五 爬蟲(chóng)部署

之前單獨(dú)使用Scrapy來(lái)模擬登錄了知乎,今天在這里結(jié)合Selenium來(lái)模擬JavaScript(也就是模擬人點(diǎn)擊和輸入)來(lái)模擬登陸知乎,這篇文章中只使用了Selenium進(jìn)行有界面的模擬操作。先來(lái)介紹幾個(gè)概念:

Phantomjs

????作為一個(gè)基于webkit內(nèi)核的沒(méi)有UI界面的瀏覽器,看到這里還有一些神秘感,大家就把這個(gè)當(dāng)做一個(gè)瀏覽器就好了。而其中的一些點(diǎn)擊、翻頁(yè)等操作則由代碼實(shí)現(xiàn)。Phantomjs提供javascript API接口,即我們可以通過(guò)js與webkit內(nèi)核交互。

? ? 關(guān)于Phantomjs的詳細(xì)介紹大家可以關(guān)注這篇文章:blog.csdn.net/tengdazhang770960436/article/details/41320079

Selenium

????作為一個(gè)用于Web應(yīng)用程序測(cè)試的工具,其測(cè)試直接運(yùn)行在瀏覽器中,框架底層使用JavaScript模擬真實(shí)用戶對(duì)瀏覽器的操作,從終端用戶的角度測(cè)試應(yīng)用程序。將Selenium與Phantomjs聯(lián)系起來(lái),便是我們可以通過(guò)使用Selenium操作Phantomjs訪問(wèn)網(wǎng)頁(yè)以獲得js生成后的網(wǎng)頁(yè)。

有好多文章介紹了在Scrapy工程中,建立中間件,在中間件中使用Selenium來(lái)請(qǐng)求數(shù)據(jù),并對(duì)返回的結(jié)果進(jìn)行包裝再返回到爬蟲(chóng)文件對(duì)應(yīng)的方法中(也就是爬蟲(chóng)文件的方法中的response其實(shí)是在中間件中Selenium獲得數(shù)據(jù)driver.page_source),針對(duì)這種形式在這里先不說(shuō)明了。

簡(jiǎn)單的概念已經(jīng)介紹完了,下面開(kāi)始上代碼,老規(guī)矩,依然是上圖片:



親測(cè)有效,這回可以肆無(wú)忌憚的借用數(shù)據(jù)啦,這里提醒一下知乎的反爬蟲(chóng)啊,User-Agent和IP代理池的使用,之后我也會(huì)有介紹的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容