作者loser113 (洨大鲁蛇ㄍ)
看板Python
标题[问题] 某段程式读取太久自动跳过
时间Thu Mar 5 13:55:48 2020
在爬虫抓网页 执行某段 抓某页的时候可能读取很久
有没有指令可以设定某一段指令若跑超过x秒 自动跳过
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.228.113.40 (台湾)
※ 文章网址: https://webptt.com/cn.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