ホームページ  >  記事  >  バックエンド開発  >  Python での実践的なクローラー戦闘: Maoyan ムービー クローラー

Python での実践的なクローラー戦闘: Maoyan ムービー クローラー

WBOY
WBOYオリジナル
2023-06-10 12:27:262884ブラウズ

インターネット技術の急速な発展に伴い、インターネット上の情報量はますます増大しています。 Maoyan Movies は国内有数の映画データ プラットフォームとして、ユーザーに総合的な映画情報サービスを提供しています。この記事では、Python を使用して、映画関連のデータを取得する簡単な Maoyan ムービー クローラーを作成する方法を紹介します。

  1. クローラーの概要

クローラー、または Web クローラーは、インターネット データを自動的に取得するプログラムです。インターネット上のリンクを通じて対象のWebサイトにアクセスし、データを取得することができ、情報収集の自動化を実現します。 Python は、データ処理、Web クローラー、ビジュアル チャートなどで広く使用されている強力なプログラミング言語です。

  1. クローラーの実装

この記事の Maoyan ムービー クローラーは、Python のリクエストと BeautifulSoup ライブラリを通じて実装されます。 Requests は Web ページ リクエストを簡単に送信できる Python HTTP ライブラリであり、BeautifulSoup は HTML ページをすばやく解析できる Python の HTML 解析ライブラリです。開始する前に、これら 2 つのライブラリをインストールする必要があります。

2.1 ライブラリのインポート

Python エディターを開き、新しい Python ファイルを作成します。まず、必要なライブラリをインポートする必要があります。

import requests
from bs4 import BeautifulSoup
import csv

2.2 リクエスト リンクの作成

次に、リクエスト リンクを作成します。 Maoyan Movie Web サイトを開き、対象の映画へのリンクを見つけてコピーします。映画「刑事チャイナタウン 3」を例に挙げます:

url = 'https://maoyan.com/films/1250952'

2.3 リクエストの送信

ヘッダーを作成し、リクエスト ヘッダー情報を設定します。ヘッダー情報には通常、User-Agent、Referer、Cookie が含まれます。 Webページにアクセスする実際のブラウザのリクエストメソッドをシミュレートします。ここでは Chrome ブラウザを例として説明します。次に、リクエスト ライブラリを使用してリクエストを送信し、Web ページの HTML コードを取得します。

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;Win64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
response = requests.get(url,headers=headers)
html = response.text

2.4 HTML コードを解析する

取得した HTML コードを BeautifulSoup オブジェクトに変換し、BeautifulSoup ライブラリを使用します。 HTML コードを解析し、ターゲット データを取得します。 Maoyan movie Web サイトの HTML コード構造は比較的複雑であるため、HTML と BeautifulSoup に関する深い知識が必要です。

soup = BeautifulSoup(html,'html.parser')
movie_title = soup.find('h1',class_='name').text
movie_info = soup.find_all('div',class_='movie-brief-container')[0]
movie_type = movie_info.find_all('li')[0].text 
movie_release_data = movie_info.find_all('li')[2].text 
movie_actors = movie_info.find_all('li')[1].text 
movie_score = soup.find('span',class_='score-num').text

2.5 データの保存

HTML ページを処理した後、取得したデータをローカルに保存する必要があります。ここでは、Python の csv ライブラリを使用してデータを保存します。 csv ライブラリは、後続の処理を容易にするためにデータを CSV 形式に変換できます。

with open('movie.csv','w',newline='',encoding='utf-8-sig') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['电影名称',movie_title])
    writer.writerow(['电影类型',movie_type])
    writer.writerow(['上映日期',movie_release_data])
    writer.writerow(['演员阵容',movie_actors])
    writer.writerow(['豆瓣评分',movie_score])

コード全体は次のとおりです:

import requests
from bs4 import BeautifulSoup
import csv

url = 'https://maoyan.com/films/1250952'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;Win64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
response = requests.get(url,headers=headers)
html = response.text
soup = BeautifulSoup(html,'html.parser')
movie_title = soup.find('h1',class_='name').text
movie_info = soup.find_all('div',class_='movie-brief-container')[0]
movie_type = movie_info.find_all('li')[0].text 
movie_release_data = movie_info.find_all('li')[2].text 
movie_actors = movie_info.find_all('li')[1].text 
movie_score = soup.find('span',class_='score-num').text 
with open('movie.csv','w',newline='',encoding='utf-8-sig') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['电影名称',movie_title])
    writer.writerow(['电影类型',movie_type])
    writer.writerow(['上映日期',movie_release_data])
    writer.writerow(['演员阵容',movie_actors])
    writer.writerow(['豆瓣评分',movie_score])
  1. 概要

この記事では、Python のリクエストと BeautifulSoup ライブラリを使用して Maoyan ムービーを実装する方法を紹介します。昇降補助具。ネットワーク リクエストの送信、HTML コードの解析、データの保存などの手順により、目的の映画関連データを簡単に取得し、ローカルに保存できます。 Web クローラー テクノロジーは、データ収集、データ マイニングなどにおいて広範な応用価値を持っています。私たちは継続的な学習を通じて技術レベルを向上させ、実際に探究し続けることができます。

以上がPython での実践的なクローラー戦闘: Maoyan ムービー クローラーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。