欢迎访问宙启技术站
智能推送

Python爬虫:抓取电影天堂网站的电影信息并保存为Excel文件

发布时间:2023-12-04 22:19:18

Python爬虫是一种自动化获取互联网上数据的技术,可以通过编写代码,模拟人的操作方式进行网页数据的抓取。本文将介绍如何使用Python爬虫抓取电影天堂网站的电影信息,并将抓取的数据保存为Excel文件。

首先,我们需要安装相关的Python库,包括requests、BeautifulSoup和openpyxl。可以使用pip命令进行安装:

pip install requests
pip install beautifulsoup4
pip install openpyxl

接下来,我们需要了解电影天堂网站的页面结构,以及需要抓取的数据在页面上的位置。在本例中,我们以电影天堂网站的首页为例进行抓取。我们将抓取电影的名称、评分和下载链接。

import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook

# 创建Excel文件
wb = Workbook()
ws = wb.active
ws.title = "Movie List"
ws.append(["电影名称", "评分", "下载链接"])

# 抓取电影信息
url = "http://www.dytt8.net/"
response = requests.get(url)
response.encoding = "gbk"
html = response.text
soup = BeautifulSoup(html, "html.parser")

movie_list = soup.select(".co_content8 .inddline .ulink")
for movie in movie_list:
    movie_name = movie.text
    movie_url = url + movie["href"]
    
    # 进入电影详情页面
    response_detail = requests.get(movie_url)
    response_detail.encoding = "gbk"
    html_detail = response_detail.text
    soup_detail = BeautifulSoup(html_detail, "html.parser")
    
    # 抓取评分信息
    rating = soup_detail.select(".position .rating")[0].text
    
    # 抓取下载链接
    download_link = ""
    download_list = soup_detail.select(".co_content8 table .xunlei dl dd")
    for link in download_list:
        download_link += link.text + "
"
    
    ws.append([movie_name, rating, download_link])

# 保存Excel文件
wb.save("movie_list.xlsx")

上述代码示例中,我们首先创建了一个空的Excel文件,并创建了一个名为"Movie List"的工作表,然后在工作表中添加了一个表头。

接着,我们使用requests库向电影天堂网站发送HTTP请求,并使用BeautifulSoup库解析返回的HTML文档。

我们使用CSS选择器来定位页面上电影列表的元素,再进入每个电影的详情页面,通过CSS选择器抓取电影的评分信息和下载链接。

最后,我们将抓取到的电影信息添加到Excel文件中,并保存为名为"movie_list.xlsx"的文件。

使用该代码可以抓取电影天堂网站首页的电影信息,并保存为Excel文件。可以通过调整代码中的URL,来抓取其他页面的电影信息。

需要注意的是,网站的页面结构可能会变化,所以在编写爬虫代码时,需要注意不同页面的差异,并对代码进行相应的修改。

总之,Python爬虫是一种强大的工具,可以帮助我们快速、自动地抓取互联网上的数据。通过合理利用Python爬虫,我们可以方便地获取所需的数据,并进行后续的数据分析和处理。