鍍金池/ 問答/Python  HTML/ 網(wǎng)絡(luò)請(qǐng)求沒有回應(yīng)?

網(wǎng)絡(luò)請(qǐng)求沒有回應(yīng)?

node練習(xí)爬蟲,循環(huán)發(fā)送了 300多次的請(qǐng)求 出現(xiàn)的問題是,部分請(qǐng)求沒有返回任何值,報(bào)錯(cuò)也沒有,請(qǐng)問可能原因是什么

背景:我把小說章節(jié)的地址都儲(chǔ)存了,然后循環(huán)請(qǐng)求這些地址獲取文本內(nèi)容,異步的請(qǐng)求很快, 幾秒內(nèi)就會(huì)得到200多章的內(nèi)容,但是這時(shí)就會(huì)停住,沒有了反應(yīng),其他的請(qǐng)求到哪去了?

回答
編輯回答
糖豆豆

可能是超時(shí),可以設(shè)置一下socket的超時(shí)時(shí)間。如果不設(shè)置超時(shí),那么是默認(rèn)時(shí)間,需要等很久。
代碼如下:

# 單位為秒
timeout = 2
socket.setdefaulttimeout(timeout)

另外,可以加入except異常做超時(shí)處理。

except socket.timeout:

詳見Python爬蟲之urllib庫—進(jìn)階篇,希望幫到樓主。

2017年7月23日 12:11