1. python爬蟲多線程假死怎麼解決
如果是爬蟲的話,這個一般都是由於網路原因造成的卡住,可以做兩層控制:
在HTTP請求上設置好超時時間,最好設定sockect的超時,這樣更底層一些。
在上層做一個檢測機制,定時輪詢線程是否正常,如果遇到不響應的直接kill掉。
2. python 程序假死的問題
我遇到的這種現象常見在引用佔用了大量的系統內存,
後來我將直接讀入大量數據到內存的過程改為用iter讀取, 現象沒再出現.
你的方案"超過一定時間...", 可以視為"守護進程",
如果這個進程是你的應用內的某個線程, 恐怕它會一同"睡"去 :(
.. 還是先確認一下是否是內存佔用的原因吧, 如果是通過節省內存的方式可以克服的.
3. Python 寫的爬蟲爬久了就假死怎麼回事
有可能你頻繁的爬取同一個網站的數據,這個網站把你的ip暫時或者永久的加入了黑名單,一段時間內或者永久限制你的訪問。網站可能有最大訪問頻率的限制,根據這個時間來設置時延可以解決這個問題。或者可能由於網路不穩定等原因。至於其他的問題就不清楚了。
4. 為什麼都說爬蟲PYTHON好
python上手容易,第三方庫多(go現在第三方庫也多)。
如果不考慮採集速度,不用登陸——requests,單線程,簡單的代碼如下:
url = "http://dd.com"
html = requests.get(url)
html.encoding=('GBK') #避免編碼問題 如有報錯,另外測試
print (html.text[:1000]) #輸出1000個字元,避免ide假死。
本人沒學過java c#,不清楚他們兩個一個簡單爬蟲的代碼量,想來最起碼比python的要多。
不過說實話python的工作機會沒有 java c#的多,也就是說別想著花錢去培訓班培訓了幾個月,就能找到月入過萬的工作。
python的運行效率比其他編程語言要差,不考慮效率的情況下,可以用python寫寫小代碼,有錢的可以寫scrapy代碼,堆伺服器做分布式爬蟲。