首頁 >後端開發 >Python教學 >python 多線程爬蟲中遇到的坑

python 多線程爬蟲中遇到的坑

鸟救山
鸟救山原創
2020-05-20 11:03:05206瀏覽

python多執行緒爬蟲的方式包括函數式和類別物件方式。一、函數式start_new_thread(func,args[])。程式碼範例如下:

python 多線程爬蟲中遇到的坑

圖1:函數式多執行緒

二、呼叫Thread類別的類別物件方式程式碼範例如下:

python 多線程爬蟲中遇到的坑

圖2:類別物件方式多執行緒程式碼結構及流程:

引入threading模組

定義子類myThread繼承threading.Thread類別。

重定義父類別Thread的run()方法,在其中執行功能代碼

實例化執行緒物件

開始執行執行緒start()

加入執行緒佇列,直至執行完成,join()。

遇到的問題:

在定義子類別時候對類別的定義及類別內引用方法print_time()出現錯誤,具體程式碼和錯誤如圖2和圖3所示。

python 多線程爬蟲中遇到的坑

圖2:錯誤代碼

python 多線程爬蟲中遇到的坑

#圖3:錯誤提示

#2 .在具體的爬取http://www.78b2b.com/lianghuizhuanti/324826_1.html網頁資訊的應用過程遇到的問題。具體程式碼如圖4所示:

python 多線程爬蟲中遇到的坑

python 多線程爬蟲中遇到的坑

#圖4:具體應用程式碼

程式碼意圖是利用多執行緒爬取13個網頁中的2020年遼寧政府工作報告,並保存在本地TXT檔案中,執行過程中的現象,網頁被全部打開,但是TXT儲存資料不全並且有內容的重複寫入。

以上是python 多線程爬蟲中遇到的坑的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn