Extracting the 200 most highly ranked movies on the IMDB website can be done using web scraping techniques. Here's an example program that uses BeautifulSoup and requests libraries to extract the movie titles and their links:

```python
import requests
from bs4 import BeautifulSoup

url = "https://www.imdb.com/chart/top"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

# Find the list of movie titles
movie_titles = soup.select("td.titleColumn a")

# Get the top 200 movie titles and links
top_200_movies = [(title.text.strip(), "https://www.imdb.com" + title["href"]) for title in movie_titles[:200]]
```

Once you have the list of movie titles and links, you can use the IMDbPY library to extract the metadata for each movie:

```python
import imdb

ia = imdb.IMDb()

# Function to extract metadata for a movie
def get_movie_metadata(movie_url):
    imdb_id = movie_url.split("/")[-2]
    movie = ia.get_movie(imdb_id)

    return {
        "title": movie.get("title"),
        "year": movie.get("year"),
        "producers": [person.get("name") for person in movie.get("producers")],
        "director": [person.get("name") for person in movie.get("directors")],
        "screenwriter": [person.get("name") for person in movie.get("writers")],
        "actors": [person.get("name") for person in movie.get("cast")]
    }

# Get the metadata for each movie
movie_metadata = [get_movie_metadata(url) for title, url in top_200_movies]
```

To search Google for reviews of each movie, you can use the Google Custom Search API or a web scraping library like BeautifulSoup and requests. Here's an example using BeautifulSoup and requests:

```python
import os
import time
import requests
from bs4 import BeautifulSoup

# Set up the Google search query
base_url = "https://www.google.com/search?q="
query_template = "{} movie review site:{}.com"
movie_sites = ["nytimes", "variety", "hollywoodreporter"]

# Function to search Google for reviews of a movie
def search_movie_reviews(title):
    reviews = []
    for site in movie_sites:
        query = query_template.format(title, site)
        url = base_url + "+".join(query.split())
        response = requests.get(url)
        soup = BeautifulSoup(response.text, "html.parser")
        review_links = soup.select("a[href*=https://" + site + ".com/]")
        for link in review_links:
            review_url = link["href"]
            review_title = link.text.strip()
            reviews.append({"title": review_title, "url": review_url, "source": site})
        # Sleep for 5 seconds to avoid overwhelming the server
        time.sleep(5)
    return reviews

# Create a directory to store the reviews
if not os.path.exists("reviews"):
    os.mkdir("reviews")

# Search for reviews of each movie and save them to a separate file
for movie in movie_metadata:
    reviews = search_movie_reviews(movie["title"])
    filename = "reviews/" + movie["title"].replace(" ", "_") + ".txt"
    with open(filename, "w") as f:
        f.write("Movie: {}\n".format(movie["title"]))
        f.write("Year: {}\n".format(movie["year"]))
        f.write("Producers: {}\n".format(", ".join(movie["producers"])))
        f.write("Director: {}\n".format(", ".join(movie["director"])))
        f.write("Screenwriter: {}\n
```
การแยกภาพยนตร์ที่มีอันดับสูงที่สุด 200 เรื่องบนเว็บไซต์ IMDB สามารถทำได้โดยใช้เทคนิคการขูดเว็บ ต่อไปนี้คือตัวอย่างโปรแกรมที่ใช้ BeautifulSoup และร้องขอให้ไลบรารีแยกชื่อภาพยนตร์และลิงก์: ```python import request from bs4 import BeautifulSoup url = "https://www.imdb.com/chart/top" response =ร้องขอ get(url) Soup = BeautifulSoup(response.text, "html.parser") # ค้นหารายชื่อภาพยนตร์ movie_titles = Soup.select("td.titleColumn a") # รับชื่อภาพยนตร์และลิงก์ยอดนิยม 200 อันดับแรก top_200_movies = [ (title.text.strip(), "https://www.imdb.com" + title["href"]) สำหรับชื่อใน movie_titles[:200]] ``` เมื่อคุณมีรายชื่อภาพยนตร์และลิงก์แล้ว คุณสามารถใช้ไลบรารี IMDbPY เพื่อแยกข้อมูลเมตาสำหรับภาพยนตร์แต่ละเรื่อง: ```python import imdb ia = imdb.IMDb() # ฟังก์ชั่นในการแยกข้อมูลเมตาสำหรับภาพยนตร์ def get_movie_metadata(movie_url): imdb_id = movie_url.split("/ ")[-2] movie = ia.get_movie(imdb_id) return { "title": movie.get("title"), "year": movie.get("year"), "producers": [person.get ("ชื่อ") สำหรับบุคคลใน movie.get("producers")], "director": [person.get("name") สำหรับบุคคลใน movie.get("directors")], "screenwriter": [บุคคล .get("name") for person in movie.get("writers")], "actors": [person.get("name") for person in movie.get("cast")] } # รับข้อมูลเมตา สำหรับภาพยนตร์แต่ละเรื่อง movie_metadata = [get_movie_metadata(url) for title, url in top_200_movies] ``` หากต้องการค้นหาคำวิจารณ์เกี่ยวกับภาพยนตร์แต่ละเรื่องใน Google คุณสามารถใช้ Google Custom Search API หรือไลบรารี่รวบรวมเว็บ เช่น BeautifulSoup และคำขอต่างๆ นี่คือตัวอย่างการใช้ BeautifulSoup และคำขอ: ```python import os เวลานำเข้า คำขอนำเข้าจาก bs4 import BeautifulSoup # ตั้งค่าการค้นหาของ Google base_url = "https://www.google.com/search?q=" query_template = " {} ไซต์วิจารณ์ภาพยนตร์:{}.com" movie_sites = ["nytimes", "variety", "hollywoodreporter"] # ฟังก์ชั่นในการค้นหา Google เพื่อดูคำวิจารณ์เกี่ยวกับภาพยนตร์ def search_movie_reviews(title): reviews = [] สำหรับไซต์ใน movie_sites : query = query_template.format(title, site) url = base_url + "+".join(query.split()) response =ร้องขอ.get(url) ซุป = BeautifulSoup(response.text, "html.parser") review_links =ซุป.select("a[href*=https://" + site + ".com/]") สำหรับลิงก์ใน review_links: review_url = link["href"] review_title = link.text.strip() บทวิจารณ์ append({"title": review_title, "url": review_url, "source": site}) # พักเครื่องเป็นเวลา 5 วินาทีเพื่อหลีกเลี่ยงไม่ให้เซิร์ฟเวอร์มีเวลามากเกินไป sleep(5) ส่งคืนบทวิจารณ์ # สร้างไดเร็กทอรีเพื่อจัดเก็บบทวิจารณ์หากไม่ os.path.exists("reviews"): os.mkdir("reviews") # ค้นหาบทวิจารณ์ภาพยนตร์แต่ละเรื่องและบันทึกลงในไฟล์แยกต่างหากสำหรับภาพยนตร์ใน movie_metadata: reviews = search_movie_reviews(movie["title"]) ชื่อไฟล์ = "reviews/" + movie["title"].replace(" ", "_") + ".txt" ด้วย open(ชื่อไฟล์, "w") as f: f.write("Movie: {}\n ".format(movie["title"])) f.write("ปี: {}\n".format(movie["year"])) f.write("ผู้ผลิต: {}\n".format( ", ".join(ภาพยนตร์["ผู้ผลิต"]))) f.write("ผู้กำกับ: {}\n".format(", ".join(ภาพยนตร์["ผู้กำกับ"]))) f.write(" ผู้เขียนบท: {}\n ```
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence