作者loser113 (洨大魯蛇ㄍ)
看板Python
標題[問題] 某段程式讀取太久自動跳過
時間Thu Mar 5 13:55:48 2020
在爬蟲抓網頁 執行某段 抓某頁的時候可能讀取很久
有沒有指令可以設定某一段指令若跑超過x秒 自動跳過
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.113.40 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1583387750.A.0B1.html
1F:→ Hsins: import time 03/05 14:28
2F:→ Hsins: limit_time = time.time() + TIMEOUT 03/05 14:29
3F:→ Hsins: if time.time() > limit_time: 03/05 14:29
4F:→ Hsins: 這作法比較簡單,也可以用 theading 的 Timer 03/05 14:31
5F:→ Hsins: 不過等你爬蟲複雜起來再考慮吧 03/05 14:32
6F:推 ddavid: 卡某種I/O包括網路的話,感覺都是thread出去比較好,上面 03/05 14:34
7F:→ ddavid: 推文第一種方法用在很多小行為其實都跑很快但累積時間很久 03/05 14:35
8F:→ ddavid: 的情況,但如果單單某個讀取動作就卡很久就不是第一種方法 03/05 14:35
9F:→ ddavid: 能處理的了,這時就給他一個thread讓他自己去跑吧 03/05 14:36
10F:→ ddavid: 不過代價就是複雜性變高了,有必要才用 03/05 14:37
11F:→ alvinlin: scrapy用DOWNLOAD_TIMEOUT 設定 03/05 14:56
12F:→ alvinlin: 然後用scrapy的errback去exception 03/05 14:58
13F:→ IAMPF: 如果是用 requests 可以 requests.get(url,timeout=30) 03/05 16:18