爬取电影天堂数据的Python脚本
介绍
电影天堂是一个非常受欢迎的电影资源网站,提供了大量的电影资源供用户观看和下载。本文将介绍如何使用Python编写一个爬虫脚本,来爬取电影天堂的电影数据。
准备工作
在开始编写爬虫脚本之前,我们需要安装一些Python库。在命令行中执行以下命令来安装所需的库:
pip install requests
pip install BeautifulSoup4
代码示例
下面是爬取电影天堂数据的Python脚本示例:
import requests
from bs4 import BeautifulSoup
def get_movie_list(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
movie_list = []
for movie in soup.find_all('div', class_='co_content8')[0].ul.find_all('table'):
movie_name = movie.find_all('a')[1].text
movie_detail_url = movie.find_all('a')[1]['href']
movie_list.append({
'name': movie_name,
'detail_url': movie_detail_url
})
return movie_list
def get_movie_details(url):
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
movie_info = {}
movie_info['name'] = soup.find_all('div', class_='title_all')[0].h1.font.text
movie_info['download_link'] = soup.find_all('div', class_='co_content8')[0].ul.find_all('table')[0].find_all('a')[1]['href']
return movie_info
# 爬取列表页
movie_list_url = '
movies = get_movie_list(movie_list_url)
# 爬取电影详情页
for movie in movies:
movie_url = ' + movie['detail_url']
movie_info = get_movie_details(movie_url)
print(movie_info)
代码解析
导入库
首先,我们导入了requests
库和BeautifulSoup
库。requests
库用于发送HTTP请求并获取网页的内容,BeautifulSoup
库用于解析HTML文档。
获取电影列表
我们定义了一个get_movie_list
函数,该函数接受一个URL作为参数,并返回一个包含电影信息的列表。在函数中,我们首先使用requests.get
方法发送GET请求,并将响应的内容保存在response
变量中。然后,我们使用BeautifulSoup
库解析HTML文档,并通过选择器定位到电影列表的部分。最后,我们遍历每个电影的HTML元素,提取电影的名称和详情URL,并将其存储在一个字典中。将所有电影的字典添加到一个列表中,并返回该列表。
获取电影详情
我们定义了一个get_movie_details
函数,该函数接受一个电影详情页的URL作为参数,并返回一个包含电影详细信息的字典。在函数中,我们首先使用requests.get
方法发送GET请求,并将响应的内容保存在response
变量中。然后,我们使用BeautifulSoup
库解析HTML文档,并通过选择器定位到电影详细信息的部分。最后,我们提取电影的名称和下载链接,并将其存储在一个字典中。
爬取数据
在主程序中,我们首先指定电影列表的URL,并调用get_movie_list
函数来获取电影列表。然后,我们遍历电影列表,对每个电影调用get_movie_details
函数来获取电影的详细信息,并打印出来。
流程图
下面是爬取电影天堂数据的流程图:
sequenceDiagram
participant 用户
participant 爬虫
participant 电影天堂网站
用户->>爬虫: 发起请求获取电影列表页数据
爬虫->>电影天堂网站: 发起GET请求
电影天堂网站-->>爬虫: 返回电影列表页数据
爬虫->>爬虫: 解析HTML文档,提取电影列表
爬虫->>用户: 返回电影列表
用户->>爬虫: 发起