当前位置: 首页 > news >正文

python爬取豆瓣电影Top250数据

本次爬虫案例使用Python语言编写,使用了requests库进行网页请求,使用了BeautifulSoup库进行网页解析,使用了openpyxl库进行数据的保存。

案例中的爬虫目标是豆瓣电影Top250,通过循环访问不同页面进行数据的爬取。在每个页面上,使用requests库发送GET请求,并设置合适的请求头,以避免被网站屏蔽。然后使用BeautifulSoup库解析返回的HTML响应,提取出需要的电影信息。

电影信息包括电影名称、排名和简介。通过解析HTML结构,使用find方法获取到对应的元素,然后提取出文本内容。提取到的信息存储在一个列表中,然后通过openpyxl库将信息逐行写入Excel文件的工作表中。

最后,使用workbook.save方法将数据保存到名为"douban_movie_top250.xlsx"的Excel文件中。

需要注意的是,在实际爬取数据时,应该遵循网站的robots.txt规范,并避免对网站造成过大的负担。另外,豆瓣电影Top250是一个公开的网页,但对于其他网站,可能需要进行登陆或者处理反爬机制。

以下是一个简单的Python爬虫案例,用于爬取豆瓣电影Top250的数据,并保存到Excel文件中。 

import requests
from bs4 import BeautifulSoup
import openpyxl# 创建工作簿和工作表
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet.title = 'Top250'# 爬取数据
url = 'https://movie.douban.com/top250'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}for i in range(10):params = {'start': i * 25}response = requests.get(url, headers=headers, params=params)soup = BeautifulSoup(response.text, 'html.parser')# 解析数据movies = soup.find_all('div', class_='info')print(movies)for movie in movies:title = movie.find('span', class_='title').textrank = movie.find('a')["href"]info = movie.find('div', class_='bd').p.text.strip().split('\n')[0]sheet.append([title, rank, info])# 保存数据到Excel文件
workbook.save('douban_movie_top250.xlsx')
workbook.close()

excle数据预览:

关注公众号「码农园区」,获取多个项目源码及各大厂学习面试资源
在这里插入图片描述

http://www.lryc.cn/news/214223.html

相关文章:

  • 关键路径及关键路径算法[C/C++]
  • nginx http 跳转到https
  • 可靠的互联网兼职平台,平常可以做副业充实生活
  • 云安全—K8s APi Server 6443 攻击面
  • 【案例实战】NodeJS+Vue3+MySQL实现列表查询功能
  • Google play开发者账号被封的几种常见原因及相关解决思路
  • 深入理解计算机系统CS213学习笔记
  • 【设计模式】第8节:结构型模式之“适配器模式”
  • Stable Diffusion WebUI扩展openpose-editor如何使用
  • 企业网络带宽使用情况检查技巧
  • C/C++笔试易错与高频题型图解知识点(三)——数据结构部分(持续更新中)
  • Intel oneAPI笔记--oneAPI简介、SYCL编程简介
  • Spring IOC - ConfigurationClassPostProcessor源码解析
  • Android OpenGL ES 2.0入门实践
  • sql语句性能进阶必须了解的知识点——索引失效分析
  • ctfhub技能树web题目全解
  • AMD、CMD、UMD是什么?
  • AM@微分方程相关概念@线性微分方程@一阶线性微分方程的通解
  • 基于深度学习的安全帽识别检测系统(python OpenCV yolov5)
  • Spring源码分析篇一 @Autowired 是怎样完成注入的?究竟是byType还是byName亦两者皆有
  • Goby 漏洞发布|F5 BIG-IP AJP 身份认证绕过漏洞(CVE-2023-46747)
  • Vue中watch侦听器用法
  • [算法前沿]--054-大语言模型的学习材料
  • DWA算法,仿真转为C用于无人机避障
  • 现阶段的主流数据库分别是哪几种?
  • “原生感”暴涨311%,这届年轻人不再爱浓妆?丨小红书数据分析
  • 基于深度学习的植物识别算法 - cnn opencv python 计算机竞赛
  • k8s调度约束
  • 面经(面试经验)第一步,从自我介绍开始说起
  • S/4 HANA 中的 Email Template