色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何優化Python爬蟲的速度?

李中冰2年前14瀏覽0評論

你可以先評估一下自己的爬蟲是io密集還是cpu密集。

io密集:程序大部分時間花在了io等待上,比如網絡io,即http請求等,磁盤io,即文件讀寫等。

cpu密集:程序大部分時間花在了cpu計算上,比如文本處理,數值計算等。

如果是io密集,那么你可以將這部分的功能通過線程池或者協程池進行并發,這樣就提升了速度。

不過這里的網絡io有個前提,你的帶寬不是你爬蟲的瓶頸。

如果是cpu密集,那么可以把這部分工作通過進程池(多進程)進行并行處理,這樣就提升了速度。多進程則意味著你的機器是多核的。

不過還有一些地方是值得優化的,比如一些庫的選擇上,例如beautifulsoup雖然很方便,但是有更快的實現方式,比如selectolax的速度要快很多。

如果你無法判斷,那么就先多線程,然后多進程吧。

如果是單機解決不了,就用工作隊列吧,比如celery。多機并行,一定能提升速度,而且是水平擴展的,當然了,這得讓你的任務能夠分布式。