很簡(jiǎn)單,新建一個(gè)線程即可
創(chuàng)新互聯(lián)專(zhuān)注于天寧網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供天寧營(yíng)銷(xiāo)型網(wǎng)站建設(shè),天寧網(wǎng)站制作、天寧網(wǎng)頁(yè)設(shè)計(jì)、天寧網(wǎng)站官網(wǎng)定制、小程序開(kāi)發(fā)服務(wù),打造天寧網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供天寧網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
import threading
def input_func( context ):
context[ 'data' ] = input( 'input:' )
context = { 'data' : 'default' }
t = threading.Thread( target = input_func ,args = ( context , ) )
t.start( )
t.join( 10 )#等待10秒
print( context )
是為了防止url不可訪問(wèn),或者響應(yīng)速度太慢而造成的時(shí)間浪費(fèi)。
比如,你要爬取1000個(gè)網(wǎng)站,如果有100個(gè)需要30s才能返回?cái)?shù)據(jù),你等待他們返回的話就需要3000s了,如果你設(shè)置10s超時(shí),那么就能知道最長(zhǎng)需要多久1000個(gè)可以爬完。
如果解決了您的問(wèn)題請(qǐng)采納!
如果未解決請(qǐng)繼續(xù)追問(wèn)
超時(shí)機(jī)制。python中調(diào)用兩個(gè)函數(shù)需要給函數(shù)設(shè)置超時(shí)機(jī)制,以防止它超時(shí),這里可以用python的signal模塊,signal模塊可以實(shí)現(xiàn)程序內(nèi)部的信號(hào)處理。
方法里有timeout參數(shù),單位是秒:
requests.get(timeout=60)
如果解決了您的問(wèn)題請(qǐng)采納!
如果未解決請(qǐng)繼續(xù)追問(wèn)!
限python限制其他軟件使用時(shí)長(zhǎng):運(yùn)行一個(gè)需要1秒才能完成的函數(shù),超時(shí)設(shè)置為2秒:No timeout
如果我們運(yùn)行time.sleep(10)并將超時(shí)設(shè)置為兩秒:finished = call_timeout(2, time.sleep, args=(10, ))
結(jié)果:Timeout
可能是代碼進(jìn)入了死循環(huán)。
為了使程序能夠繼續(xù)運(yùn)行,設(shè)置函數(shù)調(diào)用超時(shí)機(jī)制。