#1 ランキングのIMDB top250をクロール使用要求、正規表現、 #の要件は、ランキング、映画のタイトル、年、監督や他の分野クロール。 インポート要求 のインポート再 インポートCSV インポート時の クラスdoubanTop250(): film_list = [] #1の送信要求 DEF に、send_request(セルフ、URL): #追加する1.1ヘッダー要求 ヘッダー= { ' User--エージェント':" Mozillaの/ 5.0(Windowsの場合10.0 NT、Win64の、ヤモリ様x64-)のAppleWebKit / 537.36(KHTML)クローム/ 75.0.3770.100サファリ/ 537.36 " } #1.3は、要求を送信します 応答= requests.get(URL = urlには、ヘッダ= ヘッダ) プリント(response.status_code) リターン応答 #2解析数据 デフ解析(自己、応答): データ = response.content.decode() ランク = re.findall(' <EMクラス= "">(\ D +)</ em>の' 、データ) 名前 = re.findall(' <IMG幅= "100" ALT = "(。*)SRC = ' 、データ) 国 =再.findall(' &NBSP; /&NBSP;(*)&NBSP; /&NBSP; ' 、データ) ディレクター = re.findall(' 导演:(。*)' 、データ) スコア = re.findall(' <スパンクラス= "rating_num"プロパティ= "V:平均">(*)</スパン> ' 、データ) のための I における範囲( 0、LEN(ランク)): film_dict = {} film_dict [ ' ランク' ] = 順位[I] film_dict [ ' 名前' ] = 名[I] film_dict [ ' 国' ] = 国[I] film_dict [ 'ディレクター" ] =ディレクター[I] film_dict [ ' スコア' ] = [I]スコア self.film_list.append(film_dict) #3.保存するデータの DEFのsave_data(セルフ): #0のファイルを開くを作成 CSV_File =オープン(' top250.csvを'、' W '、エンコード= ' UTF-8 ' ) #1 CSVライタ作成 csv_writer = csv.writerを(CSV_File) #2書き込みヘッダ csv_writer.writerow(self.film_list [0] .keys( )) #3。書き込み内容 csv_list =[] の場合はフィルムでself.film_list: film_data = film.values() csv_list.append(film_data) csv_writer.writerows(csv_list) #4.ファイル閉じます )(csv_file.closeを 渡し #4.ファイル名を指定して実行 DEF RUN(セルフ): #1.1ターゲットURLアドレス #のステッチのURL BASE_URL = " https://movie.douban.com/top250?start= "の ための I におけるレンジ(0,225,25 ): FINAL_URL = BASE_URL + STR(I) #1.リクエストを送信し、応答オブジェクトの復帰 応答= self.send_request(FINAL_URL) #2の解析応答データ self.parse(応答) time.sleepを( 5 ) #3.保存データ self.save_data() doubanTop250()。RUN( )