2 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊
對(duì)于網(wǎng)頁(yè)鏈接數(shù)量較多的時(shí)候,用什么方式去爬能提升效率?
沒(méi)有辦法,網(wǎng)絡(luò)和帶寬限制
獲取數(shù)據(jù)和存儲(chǔ)數(shù)據(jù)應(yīng)該怎么處理
正常使用非內(nèi)存型數(shù)據(jù)庫(kù)存放即可,如上面答主所說(shuō),瓶頸不會(huì)在數(shù)據(jù)庫(kù)。因?yàn)榫W(wǎng)絡(luò)和帶寬限制,寫入量極其小。猜測(cè)你所說(shuō)的堆棧溢出問(wèn)題是因?yàn)楸闅v全表使用callback導(dǎo)致。對(duì)mongodb不熟,建議使用mysql
對(duì)于爬到錯(cuò)誤數(shù)據(jù)的處理
如你所說(shuō),你應(yīng)該分析并創(chuàng)建相應(yīng)的處理規(guī)則。符合規(guī)則的進(jìn)行重試,比如有些網(wǎng)頁(yè)頻繁請(qǐng)求會(huì)限制ip等等,這些需要你重新請(qǐng)求,但是要設(shè)定次數(shù),比如重試兩次。。除此之外所有異常,比如404等等,不去理會(huì),繼續(xù)下一個(gè)任務(wù)
用mongodb存儲(chǔ)數(shù)據(jù)的問(wèn)題
還是上面的結(jié)果,一個(gè)爬蟲遠(yuǎn)遠(yuǎn)達(dá)不到數(shù)據(jù)庫(kù)的性能上限。你只需要關(guān)注你寫的程序,有沒(méi)有遍歷全表的操作即可。
曾經(jīng)用mysql存了130G的MD5數(shù)據(jù),大概10億條,查詢響應(yīng)還是和普通的查詢差不多。由此可見(jiàn),只要是正確的查詢姿勢(shì),沒(méi)有復(fù)雜的聯(lián)合查詢,一般不會(huì)觸及到性能上限
- 2 回答
- 0 關(guān)注
- 994 瀏覽
添加回答
舉報(bào)