、要求する要求ライブラリクロールIMDBのメッセージ
-要求されたURL
https://movie.douban.com/top250
-リクエストメソッドの
GET
-リクエストヘッダ
のUser-Agent
クッキー
「」 ' のIMDBの情報クロール 映画名、URL、映画、映画監督、映画スター、映画年、 ジャンル、フィルムスコア、映画レビュー、映画、映画にランク 各ページのURLの解析 最初のページの HTTPSを:// movie.douban.com/top250?start=0&filter= 2ページ目を https://movie.douban.com/top250?start=25&filter= '「」 #のクローラ三部作の #1は、要求の送信 のインポート要求を DEF URL(get_page ): REPONSE = requests.get(URL) #の印刷(reponse.text) リターンREPONSEの #2分析データ のインポートを再 DEFのparse_index(HTML): movie_list = re.findall("<DIV CLASS = "アイテム"> 。*?<EMクラス= "">(。*?)</ em>の。*?<a href="(.*?)">。*?<スパンクラス= " タイトル"(。*?)> 。?</ span>の* <Pクラス="「> * 主演取締役:?(*。?):<BR> < (。*?)/ P(。*?) > * <スパンクラス= "rating_num "プロパティ= "V:平均"。?> </ span>の* <span>の人々は</ span>の* <スパンコメント( *を。?)。?(*。?)。? =クラス"INQ">(。*?)</ span>の'HTML、re.S) リターンmovie_list ' '' 映画ランキング、映画のURL、映画の名前、映画監督、映画スター、映画の年/ジャンル映画スコア、映画レビュー、映画の紹介 の<divクラス= "アイテム"> 。*?<EMクラス= "">(。*?)</ em>の。*?<a href="(.*?)">。 ?。?(。?*) 。*?<スパンクラス= "タイトル"> </ span>を* <Pクラス= ""> * ディレクター:主演(*。?):<(。*?)。?BR>(。*?)</ P> * <スパンクラス= "rating_num" プロパティ= "V:平均"> </ span>の* <span>の人(*。?)。?(*。?) 。?评价</ span>の* <スパンクラス= "INQ"> </ span>の(*。?) ''」#3.保存数据デフsave_data(映画): # 映画ランキング、映画のURL、映画名、映画監督、映画スター、映画の年/ジャンル、フィルムスコア、映画レビュー、映画 トップ、m_url、名前、daoyan、俳優、year_type、ポイント、コミット、DESC = 映画 daoyan = daoyan.replace(" &NBSP; "、"" ) year_type = year_type.replace(" &NBSP; /&NBSP; "、" " ) データ = F '' ' ======= ======見歓迎= 映画ランキング:{トップ} 動画のURL:{} m_url 映画名:{名前} 映画監督:{} daoyan 主演映画:{}俳優 イヤータイプ:{} year_type 映画の評価:{ポイント} 映画レビュー:{}コミット 映画:{DESC} =======見てくれてありがとう======= \ N- N- \ '' ' 印刷(データ) を開きます(と' doban_top250.txt ' ' A 'エンコード= ' UTF-8。' F AS): f.write(データ) を印刷(F ' 映画:{name}が正常に書き込まれ' ) IF __name__ == ' __main__ " : #は、すべてのホームスプライスさ NUM = 0の 以下のためラインにレンジ(10 ): URL = F ' https://movie.douban.com/top250?start={num}&filter= ' NUM + = 25 印刷(URL) #1。各家庭には、要求を送信する index_res = get_page(URL) #映画情報2.解決ホームページ movie_list = parse_index(index_res.text) のための映画でmovie_list: #データ保存3. save_data(動画)