Python爬虫获取豆瓣电影并写入excel

Python爬虫获取豆瓣电影并写入excel

本文将介绍如何使用Python编写简单的爬虫程序,获取豆瓣电影的信息,并将获取到的数据写入Excel表格中。我们将使用Python的requests库来发送HTTP请求,使用BeautifulSoup库来解析HTML文档,以及使用openpyxl库来操作Excel文件。通过本文的学习,您将掌握如何使用Python进行数据爬取和数据处理的基本技能。

1. 准备工作

在开始编写爬虫程序之前,我们需要先安装所需的库:

pip install requests

pip install beautifulsoup4

pip install openpyxl

安装完成后,我们可以开始编写爬虫程序。

2. 发送HTTP请求

首先,我们需要向豆瓣电影的网页发送HTTP请求,以获取网页的内容。我们使用的是豆瓣电影的Top250页面作为示例。可以使用requests库的get方法来发送GET请求:

import requests

url = 'https://movie.douban.com/top250'

response = requests.get(url)

html = response.text

print(html)

上述代码中,我们首先定义了要请求的URL,然后使用requests.get方法发送GET请求,并将返回的响应保存在response变量中。最后,我们使用response.text将响应内容转换为字符串,并打印出来。

3. 解析HTML文档

接下来,我们需要使用BeautifulSoup库来解析HTML文档,从中提取出我们需要的电影信息。BeautifulSoup库提供了一个方便的接口,可以轻松地从HTML文档中提取出指定的标签或属性。

from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html.parser')

movies = soup.find_all('div', class_='hd')

for movie in movies:

title = movie.a.span.text

print(title)

上述代码中,我们使用BeautifulSoup的find_all方法来查找所有class为"hd"的div标签,并遍历这些标签。对于每个标签,我们使用a.span.text来提取电影的标题,并打印出来。

4. 将数据写入Excel

最后,我们需要使用openpyxl库将获取到的电影数据写入Excel表格中。openpyxl库提供了一个简单而强大的接口,可以轻松地操作Excel文件。

from openpyxl import Workbook

wb = Workbook()

sheet = wb.active

sheet['A1'] = '电影标题'

row = 2

for movie in movies:

title = movie.a.span.text

sheet[f'A{row}'] = title

row += 1

wb.save('movies.xlsx')

上述代码中,我们首先创建一个Workbook对象,然后获取默认的活动工作表,并将电影标题写入第一列。然后,我们使用for循环遍历movies列表中的每个电影,将电影标题逐行写入Excel表格。最后,我们使用save方法将Workbook保存为Excel文件。

5. 总结

通过本文的学习,我们了解了如何使用Python编写简单的爬虫程序,获取豆瓣电影的信息,并将获取到的数据写入Excel表格中。我们使用了requests库发送HTTP请求,使用BeautifulSoup库解析HTML文档,以及使用openpyxl库操作Excel文件。希望本文对您在Python爬虫和数据处理方面的学习有所帮助。

后端开发标签