您好,登錄后才能下訂單哦!
這篇文章主要介紹了新手爬蟲采集時容易碰到的問題有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1、編碼問題。
網(wǎng)站目前最多的兩種編碼:utf-8,或者gbk,當我們采集回來源網(wǎng)站編碼和我們數(shù)據(jù)庫存儲的編碼不一致時,比如http://163.com的編碼使用的是gbk,而我們需要存儲的是utf-8編碼的數(shù)據(jù),那么我們可以使用Python中提供的encode()和decode()方法進行轉(zhuǎn)換,比如:content = content.decode('gbk', 'ignore') #將gbk編碼轉(zhuǎn)為unicode編碼。
content = content.encode('utf-8', 'ignore') #將unicode編碼轉(zhuǎn)為utf-8編碼
中間出現(xiàn)了unicode編碼,我們需要轉(zhuǎn)為中間編碼unicode,才能向gbk或者utf-8轉(zhuǎn)換。
2、增量爬取。
增量爬行是爬蟲不重復(fù)下載下載的內(nèi)容。為了實現(xiàn)增量爬行,我們需要使用一個新的概念——網(wǎng)址池。網(wǎng)址池用于統(tǒng)一管理所有網(wǎng)址。我們通過網(wǎng)址池記錄我們的python爬蟲訪問過哪些內(nèi)容,以避免重復(fù)。網(wǎng)址池的用途也可以實現(xiàn)斷點續(xù)爬等。斷點續(xù)爬是讓之前沒有爬過的網(wǎng)址繼續(xù)爬蟲。
3、爬蟲被禁止。
爬蟲會給服務(wù)器帶來很大的負載,所以很多服務(wù)器會限制爬蟲,甚至禁用爬蟲。眾所周知,要構(gòu)建合理的http訪問頭,比如user-agent域的值。但是,還有很多其他避免被禁止的問題,比如放慢爬蟲的訪問速度,讓爬蟲的訪問路徑與用戶的訪問路徑一致,采用動態(tài)ip地址等等。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“新手爬蟲采集時容易碰到的問題有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。