Python マルチスレッド クローラー メソッドには、関数メソッドとクラス オブジェクト メソッドが含まれます。 1. 関数型 start_new_thread(func,args[])。コード例は次のとおりです。
図 1: 関数型マルチスレッド
2. Thread クラスを呼び出すクラス オブジェクト メソッドのコード例は次のとおりです。
図 2: クラス オブジェクト メソッドマルチスレッド コードの構造とプロセス:
スレッド モジュールを導入します。
threading.Thread クラスを継承するサブクラス myThread を定義します。
親クラスThreadのrun()メソッドを再定義し、その中の関数コードを実行
スレッドオブジェクトをインスタンス化
スレッドstart()の実行を開始
実行が完了するまでスレッドキューに参加し、join() 。
発生した問題:
サブクラスの定義時に、クラスの定義とクラス内の参照メソッド print_time() でエラーが発生しました。具体的なコードとエラーを図 2 と図 3 に示します。
図 2: エラー コード
図 3: エラー メッセージ
2. 特定のクロールのアプリケーション http://www.78b2b.com/lianghuizhuanti/324826_1.html Web ページ情報の問題が発生しましたプロセス中。具体的なコードを図 4 に示します。
図 4: 特定のアプリケーション コード
このコードの目的は、マルチスレッドを使用して、13 の Web ページから 2020 年遼寧省政府活動報告書をクロールすることです。ローカルTXTに保存 ファイル内では、Webページは全て開いているのに、TXT保存データが不完全で内容が繰り返し書き込まれるという現象が実行処理中に発生します。
以上がPython マルチスレッド クローラーで遭遇する落とし穴の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。