私は次のようなPythonプログラムを書きたいです：
1. IMDB Webサイトで、最も高くランク付けされた200の映画を抽出します。
2.名前とメタデータのリストを作成します（年、プロデューサー、ディレクター、脚本家、俳優のリストなど）
3.各映画について、プログラムは映画批評家によるこれらの映画の〜100件のレビューをGoogleを検索し、そのメタデータとともに各レビューの別のファイルにそれらを保存します
IMDB Webサイトで最もランク付けされている200の映画を抽出することは、Webスクレイピングテクニックを使用して行うことができます。BeautifulSoupを使用し、図書館をリクエストして映画のタイトルとそのリンクを抽出する例を示します。

`` python
リクエストをインポートします
BS4からBeautifulSoupをインポートします

url = "https://www.imdb.com/chart/top"
response = requests.get（url）
soup = beautifulsoup（respons.text、 "html.parser"）

＃映画のタイトルのリストを見つけます
ムービー_titles= soup.select（ "td.titlecolumn a"）

＃トップ200の映画タイトルとリンクを取得します
top_200_movies = [（title.text.strip（）、 "https://www.imdb.com" + title ["href"]）for movie_titles [：200]]
`` `

映画のタイトルとリンクのリストを取得したら、IMDBPYライブラリを使用して各映画のメタデータを抽出できます。

`` python
IMDBをインポートします

ia = imdb.imdb（）

＃映画のメタデータを抽出する機能
def get_movie_metadata（movie_url）：
    IMDB_ID =ムービー_url.split（ "/"）[-2]
    ムービー= ia.get_movie（imdb_id）

    戻る {
        「タイトル」：ムービー（ "タイトル"）、
        「年」：ムービー（ "year"）、
        「プロデューサー」：[Person.get（ "name"）for for for for formove.get（ "producers"）]、
        「ディレクター」：[Person.get（ "name"）for for for for formove.get（ "directors"）]、
        「脚本家」：[Person.get（ "name"）for for for for form in movie.get（ "Writers"）]、
        「俳優」：[Person.get（ "name"）for for for formove.get（ "cast"）]]
    }

＃各映画のメタデータを取得します
ムービー_metadata= [get_movie_metadata（url）タイトル、url in top_200_movies]
`` `

各映画のレビューをGoogleを検索するには、Google Custom Search APIまたはBeautifulSoupやリクエストなどのWebスクレイピングライブラリを使用できます。これがBeautifulSoupとリクエストを使用した例です。

`` python
OSをインポートします
インポート時間
リクエストをインポートします
BS4からBeautifulSoupをインポートします

＃Google検索クエリを設定します
base_url = "https://www.google.com/search?q="
query_template = "{}ムービーレビューサイト：{}。com"
ムービー_sites= ["nytimes"、 "Variety"、 "HollywoodReporter"]]

＃映画のレビューのためにGoogleを検索する機能
def search_movie_reviews（title）：
    レビュー= []
    ムービーのサイトの場合：
        query = query_template.format（title、site）
        url = base_url + " +"。join（query.split（））
        response = requests.get（url）
        soup = beautifulsoup（respons.text、 "html.parser"）
        Review_links = soup.select（ "a [href*= https：//" + site + ".com/]"）
        Review_linksのリンクの場合：
            Review_url = link ["href"]
            Review_title = link.text.strip（）
            reviews.append（{"title"：review_title、 "url"：review_url、 "source"：site}）
        ＃サーバーに圧倒されないように5秒間スリープします
        time.sleep（5）
    レビューを返します

＃レビューを保存するディレクトリを作成します
os.path.exists（ "レビュー"）ではない場合：
    os.mkdir（ "レビュー"）

＃各映画のレビューを検索し、それらを別のファイルに保存します
ムービーの映画_METADATA：
    レビュー= search_movie_reviews（ムービー["タイトル"]）
    filename = "Reviews/" + Movie ["Title"]。
    f：open（filename、 "w"）f：
        f.write（ "ムービー：{} \ n" .format（ムービー["タイトル"]））
        f.write（ "year：{} \ n" .format（ムービー["year"]））
        f.write（ "プロデューサー：{} \ n" .format（ "、" .join（movie ["producers"]））））
        f.write（ "director：{} \ n" .format（ "、" .join（movie ["director"]））））
        f.write（ "脚本家：{} \ n
`` `