首页 > 编程知识 正文

Python抓取猫眼电影排行

时间:2023-11-20 14:23:53 阅读:304892 作者:SKJO

本文将详细介绍如何使用Python编程语言来抓取猫眼电影排行榜的数据。

一、准备工作

在开始之前,我们需要确保已经安装了Python编程语言的环境,并且安装了以下几个必要的第三方库:

pip install requests
pip install beautifulsoup4

二、发送HTTP请求

使用Python的requests库发送HTTP请求是获取网页内容的第一步。我们可以向猫眼电影排行榜的URL发送GET请求,并获取返回的HTML内容:

import requests

url = "https://maoyan.com/board/4"
headers = {
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"
}

response = requests.get(url, headers=headers)
html = response.text

print(html)

三、解析HTML内容

接下来,我们需要使用BeautifulSoup库来解析HTML内容,提取出电影的排名、电影名、主演和上映时间等信息:

from bs4 import BeautifulSoup

soup = BeautifulSoup(html, "html.parser")
movies = soup.find_all("dd")

for movie in movies:
  rank = movie.find("i").string
  name = movie.find("p", class_="name").find("a").string
  star = movie.find("p", class_="star").string.strip()
  release_time = movie.find("p", class_="releasetime").string

  print("排名:", rank)
  print("电影名:", name)
  print("主演:", star)
  print("上映时间:", release_time)
  print()

四、保存数据

如果我们想要将抓取到的电影排行榜数据保存下来,可以将其存储为CSV文件或者数据库。这里我们以保存为CSV文件为例:

import csv

with open("maoyan_movies.csv", "w", newline="", encoding="utf-8") as f:
  writer = csv.writer(f)
  writer.writerow(["排名", "电影名", "主演", "上映时间"])
  
  for movie in movies:
    rank = movie.find("i").string
    name = movie.find("p", class_="name").find("a").string
    star = movie.find("p", class_="star").string.strip()
    release_time = movie.find("p", class_="releasetime").string
    
    writer.writerow([rank, name, star, release_time])

五、总结

通过以上步骤,我们可以使用Python抓取猫眼电影排行榜的数据,并且将数据保存为CSV文件。这样的数据抓取和处理在很多实际场景中都非常有用,希望本文能够对大家有所帮助。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。