看板 Python 關於我們 聯絡資訊
請問一下,小弟使用os.system去呼叫wget抓檔, 但程式常會pending在下面步驟就不會往下執行, 目前不知道是什麼原因,因為同一個檔, 有時候會pending有時不會,且可能抓幾百個檔才會遇到一次此問題, 但遇到後就只能關掉DOS視窗,即使按Ctrl+C也無法中斷程式 目前找不到是什麼原因造成的,是否有人可提供思考方向 或是 os.system可設定返回時間.... os.system("wget --tries=3 --timeout=60 http://..") -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.189.170 ※ 編輯: tumc 來自: 114.25.189.170 (07/09 18:01)
ya790206:subprocess 07/09 18:05
tumc:使用subprocess也會這樣,很怪的是wget有把檔抓下來,但卻沒返 07/09 20:10
tumc:回 07/09 20:10
timTan:是不是對方的 server 有做手腳,有設定同一ip不可抓太多次? 07/10 00:16
timTan:wget 有debug mode嗎? 07/10 00:16
tumc:應該不是server,因為有用perl試,是不會這樣的 07/10 00:58
tumc:有分別試subprocess.call(cmd),subprocess.call(cmd.split()) 07/10 00:59
tumc:兩種方式會出現此現象,但後者會很久才會出現 07/10 01:00
uranusjr:看起來比較像是 wget 的問題, 用 urllib 改寫吧 07/10 02:52
tumc:目前也只能用urllib2改寫了,謝謝 07/10 10:24
keitheis:試試 Requests http://pypi.python.org/pypi/requests 07/13 10:58