爬蟲應(yīng)該怎么寫?

最近貌似爬蟲需求越來越大,可能是大數(shù)據(jù)帶動(dòng)的。今天給大家分享爬蟲應(yīng)該怎么寫?用什么框架?怎么自動(dòng)登錄?怎么繞過反爬蟲技術(shù)?

爬蟲就是從別人家的網(wǎng)站或者平臺(tái)上獲取數(shù)據(jù),我們今天就拿提供企業(yè)信息的某某網(wǎng)站為案例。

第一步選擇一個(gè)爬蟲框架,我第一個(gè)會(huì)想到的是scrapy一個(gè)用python語(yǔ)言開發(fā)的最強(qiáng)最流行的爬蟲框架,短短十幾行代碼就能實(shí)現(xiàn)簡(jiǎn)單的爬蟲任務(wù)。我之前沒有python語(yǔ)言的基礎(chǔ),也沒有用過scrapy,所以我從scrapy的官網(wǎng)上學(xué)習(xí)了幾個(gè)小時(shí)。然后就開始寫了幾十行能運(yùn)行。但是某某網(wǎng)站的反爬蟲技術(shù)強(qiáng),需要更改agent,需要加入cookie解決滑動(dòng)驗(yàn)證碼、還有頁(yè)面必須渲染執(zhí)行js才能獲取到真正想得到的數(shù)據(jù)等等很多問題,對(duì)于初學(xué)這個(gè)框架的我難度太大了,然后我就放棄該選擇了。

我想到了自動(dòng)測(cè)試工具selenium。該工具能調(diào)用瀏覽器,并且等待瀏覽器渲染完頁(yè)面執(zhí)行完js后可以讀取瀏覽器展示的數(shù)據(jù)。selenium也有Java的接口,還需要WebDriver火狐瀏覽器版。

第二步就是寫代碼實(shí)現(xiàn)功能了,新建一個(gè)FirefoxDriver(如果是Chrome的話ChromeDriver)對(duì)象,它有一個(gè)get方法能在瀏覽器里打開你要的頁(yè)面了,它還有一個(gè)gatPageSource方法,該方法就是獲取頁(yè)面上的數(shù)據(jù)了。


好了就這么簡(jiǎn)單一個(gè)爬蟲出來了,能繞過反爬蟲技術(shù)超強(qiáng)的某某.com設(shè)置的障礙,唯一的缺點(diǎn)就是滑動(dòng)驗(yàn)證碼還是得人去驗(yàn)證,程序遇到滑動(dòng)驗(yàn)證碼后會(huì)等待。

歡迎各位感興趣的朋友交流技術(shù)、經(jīng)驗(yàn)。

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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