python多執行緒爬蟲的方式包括函數式和類別物件方式。一、函數式start_new_thread(func,args[])。程式碼範例如下:
圖1:函數式多執行緒
二、呼叫Thread類別的類別物件方式程式碼範例如下:
圖2:類別物件方式多執行緒程式碼結構及流程:
引入threading模組
定義子類myThread繼承threading.Thread類別。
重定義父類別Thread的run()方法,在其中執行功能代碼
實例化執行緒物件
開始執行執行緒start()
加入執行緒佇列,直至執行完成,join()。
遇到的問題:
在定義子類別時候對類別的定義及類別內引用方法print_time()出現錯誤,具體程式碼和錯誤如圖2和圖3所示。
圖2:錯誤代碼
#圖3:錯誤提示
#2 .在具體的爬取http://www.78b2b.com/lianghuizhuanti/324826_1.html網頁資訊的應用過程遇到的問題。具體程式碼如圖4所示:
#圖4:具體應用程式碼
程式碼意圖是利用多執行緒爬取13個網頁中的2020年遼寧政府工作報告,並保存在本地TXT檔案中,執行過程中的現象,網頁被全部打開,但是TXT儲存資料不全並且有內容的重複寫入。
以上是python 多線程爬蟲中遇到的坑的詳細內容。更多資訊請關注PHP中文網其他相關文章!