logo

从豆瓣电影排行榜Top250爬取数据并存储到Excel文件

作者:问答酱2024.01.18 05:15浏览量:11

简介:本文将介绍如何使用Python爬取豆瓣电影排行榜Top250的数据,并将这些数据存储到Excel文件中。我们将使用requests库发送HTTP请求,使用BeautifulSoup库解析HTML,并使用openpyxl库将数据写入Excel文件。

首先,我们需要安装必要的Python库。在命令行中输入以下命令来安装requests、beautifulsoup4和openpyxl库:

  1. pip install requests beautifulsoup4 openpyxl

接下来,我们可以编写Python脚本来爬取豆瓣电影排行榜Top250的数据,并将这些数据存储到Excel文件中。以下是示例代码:

  1. import requests
  2. from bs4 import BeautifulSoup
  3. from openpyxl import Workbook
  4. # 定义要爬取的URL
  5. url = 'https://movie.douban.com/top250'
  6. # 发送HTTP请求并获取网页内容
  7. response = requests.get(url)
  8. soup = BeautifulSoup(response.text, 'html.parser')
  9. # 创建Excel工作簿和工作表
  10. workbook = Workbook()
  11. worksheet = workbook.active
  12. # 定义列标题
  13. headers = ['排名', '电影名', '评分', '上映时间', '导演', '主演']
  14. worksheet.append(headers)
  15. # 查找并提取电影数据,存储到列表中
  16. movies = []
  17. for item in soup.find_all('div', class_='item'):
  18. rank = item.find('em').text.strip()
  19. title = item.find('a').text.strip()
  20. rating = item.find('span', class_='rating_num').text.strip()
  21. release_time = item.find('span', class_='pubdate').text.strip()[:-5] # 去除最后五个字符(包括空格)
  22. director = item.find('span', class_='director').text.strip()
  23. stars = ', '.join([actor.text.strip() for actor in item.find_all('span', class_='star')])
  24. movies.append([rank, title, rating, release_time, director, stars])
  25. # 将电影数据写入Excel工作表中
  26. for row in movies:
  27. worksheet.append(row)
  28. # 保存Excel文件
  29. workbook.save('douban_top250.xlsx')

在上面的代码中,我们首先定义了要爬取的URL,然后使用requests库发送HTTP请求并获取网页内容。接下来,我们使用BeautifulSoup库解析网页内容,查找并提取电影数据。我们使用openpyxl库创建了一个Excel工作簿和工作表,并将电影数据写入工作表中。最后,我们保存Excel文件。
请注意,在爬取网页数据时,需要遵守网站的使用条款和法律法规。另外,由于网站结构可能会发生变化,因此在实际使用时需要检查代码是否仍然有效。

相关文章推荐

发表评论