????????分析原因赦抖,是因為使用urlopen方法太過頻繁压鉴,引起遠(yuǎn)程主機的懷疑,被網(wǎng)站認(rèn)定為是攻擊行為骤坐。導(dǎo)致urlopen()后绪杏,request.read()一直卡死在那里。最后拋出10054異常纽绍。
1. ?在request后面寫入一個關(guān)閉的操作蕾久,
response.close()
2. ?設(shè)置socket默認(rèn)的等待時間,在read超時后能自動往下繼續(xù)跑
socket.setdefaulttimeout(t_default)
3. ?設(shè)置sleep()等待一段時間后繼續(xù)下面的操作
time.sleep(t)
設(shè)置之后拌夏,爬取成功僧著,沒有報錯