Andaian:
def get(url):
#這里是get請求
return url
for i in urls:
get(i)
#這里采用循環(huán)去調(diào)用請求
#這樣速度好像比較慢,有什么方法可以
#當(dāng)多個請求時,也可以快速完成程序
Terima kasih
學(xué)習(xí)是最好的投資!
>>> from eventor import Eventor
>>> urllist = ["https://a.com", ....]
>>> def get(url):
# 網(wǎng)絡(luò)IO耗時
return url
>>> e = Eventor(threadcount=3, taskunitcount=3, func=get, interval=1)
>>> result = e.run_with_tasklist(urllist)
>>> print(result)
Anda boleh memilih berbilang teras, berbilang proses atau berbilang benang mengikut keperluan anda, coroutine mempercepatkan pemprosesan.
Alih butiran: https://github.com/kute/eventor
Kami akan menambah async await, pekerja saderi, dll. pada masa hadapan
Beberapa kaedah boleh digunakan secara gabungan
coroutine
multiprocess
multithread
pekerja saderi
Pengubahsuaian paling mudah ialah menggunakan multiprocessing.dummy untuk melaksanakan tugas berbilang benang Anda boleh menyemaknya, menetapkan bilangan utas, dan kemudian ia boleh digunakan tanpa banyak pengubahsuaian pada program.