#インポートはモンキーgenentモジュール①から GEVENTインポートモンキーからのプログラムの実行に#のコルーチン② monkey.patch_all() 輸入GEVENT、要求、タイム #のインポート要求とタイム スタートtime.time =() #は、番組の録画を開始します時間 URL_LIST = [ 'https://www.baidu.com/'、 'https://www.sina.com.cn/'、 'http://www.sohu.com/'、 「HTTPS:// www.qq.com/ ' 'https://www.163.com/'、 'http://www.iqiyi.com/'、 'https://www.tmall.com/'、 ' HTTP: //www.ifeng.com/「] #8サイトのリストにカプセル化 :DEF get_Data(URL) R&LT requests.get =(URL) 、ウェブサイトのクロール#requests.get()関数 プリント(URL、time.timeを()-start、R。STATUS_CODE) task_list = [] #は空のリストを作成 url_listでURLのために: #、産卵機能のメソッド名の内側geventでURLパラメータ③タスクget_dataを作成し 、タスク= gevent.spawn(get_data、URL)task_list④作成するために、#の追加タスクを task_list.append(タスク)を、すべてのタスクリスト#でタスクを実行します⑤ gevent.joinall(task_list) 終了= time.time() #記録プログラムの終了時刻 を印刷(最終スタート) #エンドスタートは終了時間マイナス開始時間は費やした究極の時間です。
次のように、キューを使用します:
genent①から#インポートモジュールモンキー geventインポートサルから #②コルーチンにプログラムを実行 monkey.patch_all() 輸入gevent、要求、タイム キューgeventライブラリから#インポートモジュール gevent.queueインポートキューから #インポートリクエストと時間 time.timeを開始=() #記録プログラム開始時刻 URL_LIST = [ 'https://www.baidu.com/'、 'https://www.sina.com.cn/'、 「HTTP:/ /www.sohu.com/ ' 'https://www.qq.com/'、 'https://www.163.com/'、 'http://www.iqiyi.com/'、 ' HTTPS ://www.tmall.com/「 」http://www.ifeng.com/「] #8サイトのリストの中にカプセル化 #はキューオブジェクトを作成し、作業に割り当てられています。 =キューワーク() URL_LISTでのURLの: #あなたがキューにURLを置くことができるとput_nowait()関数。 work.put_nowait(URL) get_Data DEF(): キューは、以下の手順の実装に、空ではありません#。 :しばらく()ではないwork.empty #get_nowaitと()関数は、削除されたURLのキューに入れることができます。 = work.get_nowait URL() R&LT requests.get =(URL) requests.getと#()関数QSIZEサイトクロールキュー長 プリント(URL、work.qsize()、r.status_code) task_list = [] #が作成空のリスト #は、二つのクローラを作成 Xインレンジ(2)の場合: #はスポーン関数メソッド名内部geventとタスクget_dataを作成する タスク= gevent.spawn(get_data) #タスクを作成task_list④に追加さ task_list.append(タスク) すべてのタスク⑤#は、タスクリストを実行 gevent.joinall(task_list) 終了= time.time() #記録プログラムの終了時間 を印刷(最終スタート) #エンド開始し終了時間マイナス開始時間は、最終的に費やされます時間。