python爬取豆瓣电影并分析_爬取豆瓣电影top250提取电影分类进行数据分析

2023-11-01

标签(空格分隔):python爬虫

一、爬取网页,获取需要内容

我们今天要爬取的是豆瓣电影top250

页面如下所示:

1460000006877726

我们需要的是里面的电影分类,通过查看源代码观察可以分析出我们需要的东西。直接进入主题吧!

1460000006877727

知道我们需要的内容在哪里了,接下来就使用我们python强大的request库先获取网页内容下来吧!获取内容后,再使用一个好用的lxml库来分析网页内容,然后获取我们的内容就可以做下一步操作了。

先贴出使用request库和lxml分析的代码

def get_page(i):

url = 'https://movie.douban.com/top250?start={}&filter='.format(i)

html = requests.get(url).content.decode('utf-8') # 使用request库获取网页内容

selector = etree.HTML(html) # 使用lxml库提取内容

'''

通过观察页面就能发现内容在

下的一部分

'''

content = selector.xpath('//div[@class="info"]/div[@class="bd"]/p/text()')

print(content)

for i in content[1::2]:

print(str(i).strip().replace('\n\r', ''))

# print(str(i).split('/'))

i = str(i).split('/')

i = i[len(i) - 1]

key = i.strip().replace('\n', '').split(' ') # 这里的strip和replace的使用目的是去除空格和空行之类

print(key)

通过获取下来的内容我们发现一部电影的各项内容都是用'/'分隔着,我们只需要提取电影分类中的东西,所以我们需要使用

i = str(i).split('/')

来把内容分隔成几项内容,因为电影分类排在最后,所以我们通过

i = i[len(i) - 1]

来获取分隔后的最后一项也就是我们需要的电影分类,还有最后一步我们需要完成的,因为一部电影里面一般都有多个电影分类的标签,所以我们还要继续分隔获取到的电影分类,并且观察可以知道电影分类之间只是用一个空格隔开,所以我们使用下面一行代码就可以分离出各个分类:

key = i.strip().replace('\n',

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python爬取豆瓣电影并分析_爬取豆瓣电影top250提取电影分类进行数据分析 的相关文章

  • s捕捉异常处理是使用js try catch方式

    在JavaScript可以使用try catch来进行异常处理 例如 try foo bar catch e alert e name e message 目前我们可能得到的系统异常
  • Kali使用VMware安装方法。

    Kali使用VMware安装方法以及修改中文界面 一直使用的Centos系统 今天我们换种口味 来玩玩kali 1 什么是kali 手指犹如轻快的舞步在键盘上不断地敲击着 清脆的咔擦声音刺回荡在空荡的房间 黑绿色的屏幕光反射在一张恐怖的面具
  • 微信小程序是怎么做的?

    微信小程序是一种轻量级的应用 它可以在微信内部直接使用 无需下载和安装 那么 微信小程序是怎么做的呢 微信小程序制作的大概步骤 微信小程序制作主要包括以下几个步骤 注册小程序账号 在小程序制作工具创建小程序 设计小程序页面 提交审核 成功发
  • Webpack学习

    webpack是一种打包工具 安装 npm install webpack webpack cli webpack dev server D webpack配置文件 可命名 webpack config js 单个总的配置文件 也可以拆分成
  • node 模块引入与加载机制

    一 说在前面 在Node js中 以模块为单位划分功能 通过一个完整的模块加载机制使得开发人员可以将应用程序划分为多个不同的部分 模块的使用可以提高代码重用率 提高应用程序的开发效率 而且开发人员可以根据具体的需求引入第三方模块或者自定义模
  • Java 8中 Objects 类源码实现与分析

    Objects 类位于 java util 包下 自 JDK 1 7 版本新增的 它是一个 final 类 不能被继承 且构造函数是 private 的 不能被实例化 它提供了一系列操作Object对象的静态方法 通常会被当做工具类去使用
  • org.junit.jupiter.api不存在如何解决

    问题描述 报错信息 解决方案 在pom xml中添加依赖 代码如下
  • SpringCloud简单实战

    我学习时搭建的父子项目 所以文章里依赖没有
  • Windows 系统cmd设置添加静态路由方式

    电脑上添加静态路由 cmd设置路由 方法 步骤 1 首先在 运行 窗口输入cmd 按WIN R打开运行窗口 然后回车进入命令行 输入 route add 10 253 251 0 mask 255 255 255 0 p 192 254 1
  • 前端实际开发中的命名规范(个人建议)

    如果说计算机科学只存在两个难题 缓存失效和命名 那我觉得前端的命名占有一席之地 让人难以理解的命名方式 单词拼写错误 中英文混用 以数字1 9或者以a z命名 中文拼音命名 强制缩写 命名方法 每个单词之间用 或者 连接 小驼峰 除第一个单
  • JavaScript做简单的购物车效果(增、删、改、查、克隆)

    比如有时候遇到下面这种情况 点击加入购物车 然后在上方的购物车中动态的添加商品以及商品的信息 我们就可以通过JavaScript实现简单的这些操作 首先我们需要在html文档中 通过css对页面的布局做一些简单的设置 并创建两个模板 其di
  • 第二十三节:DOM对象

    DOM概述 DOM 是 JavaScript 操作网页的接口 全称为 文档对象模型 Document Object Model 它的作用是将网页转为一个 JavaScript 对象 从而可以用脚本进行各种操作 比如增删内容 浏览器会根据 D
  • python字典调用键值对作为函数的形参_前端如何学习Python——字典和函数|七日打卡...

    字典 Python 中的字典和 Javascript的对象基本是一样的 添加键值对 user user name david user age 18 print user 复制代码 name david age 18 复制代码 删除键值对
  • RuntimeError: Error(s) in loading state_dict for SENET

    错误提示 RuntimeError Error s in loading state dict for SENET Missing key s in state dict conv1 weight bn1 weight bn1 bias b
  • WebGL(threeJS)给物体打标签

    threeJS给物体打标签有以下几种方法 今天我们就郭老师的例子 依次来看看区别三中标签的区别 今天咱们现年看看效果 下次咱们分析代码 第一种 CSS2DRenderer 官方案例 CSS2DRenderer的标签本身的大小不会缩放也不会旋
  • OD华为机试 19

    分苹果 描述 A B两个人把苹果分为两堆 A希望按照他的计算规则等分苹果 他的计算规则是按照二进制加法计算 并且不计算进位 12 5 9 1100 0101 9 B的计算规则是十进制加法 包括正常进位 B希望在满足A的情况下获取苹果重量最多
  • 2022全年度净水器十大热门品牌销量榜单

    随着人们健康意识的提升 每天喝足量水的观念已经深入人心 而伴随居民生活水平的提高 当下居民对水污染问题也更加关注 对饮水品质的认知和要求也随之升级 因此 净水器在过去几年开启了高速增长的趋势 根据鲸参谋数据显示 2022年京东平台净水器的年
  • docker具名挂载与匿名挂载

    文章分为三部分 什么是具名 匿名和指定路径挂载 匿名挂载 具名挂载 什么是具名 匿名和指定路径挂载 v 容器内路径 匿名挂载 v 卷名 容器内路径 具名挂载 v 宿主机路径 容器内路径 指定路径挂载 拓展 宿主机路径 容器内路径 ro 只读
  • 好书推荐计划:Keras之父作品《Python 深度学习》

    大家好 我禅师的助理兼人工智能排版住手助手条子 可能很多人都不知道我 因为我真的难得露面一次 天天给禅师做底层工作 今天条子终于也熬到这一天 终于也有机会来为大家写文章了 激动的我啊 都忘了9月17号中午和禅师在我厂门口兰州料理吃饭 禅师要

随机推荐

  • C++——关于返回值优化问题

    我们知道 对于一个函数的返回值来说 其是一个对象的拷贝 并且应当是一个右值 我们现在有一个函数 A get A A a 1 return a int mian A get A return 0 这个函数的行为应当是在函数体中构造一个a 然后
  • 浅析React Router V6 useRoutes的使用

    本篇文章记录了useRoutes第一个参数的使用方法 暂不涉及第二个参数 文章目录 一 使用位置 二 嵌套路由 三 分模块管理 注意事项 一 使用位置 一开始以为可以像react router config那样使用 于是写成 import
  • 用 construct 2 制作简易弹幕游戏

    用 construct 2 制作简易弹幕游戏 1 打开construct 2 加入背景 3 建立新的图层 4 在新的图层里加入素材 超人 弹幕 4 加入鼠标 5 给超人和弹幕设置动作 超人的 弹幕的 6 加入文字框 7 编写代码 完成啦
  • TCP/UDP报文格式及各种通信机制简介

    TCP UDP报文格式及各种通信机制简介 一 UDP报文 二 TCP报文 三 TCP通信机制 1 确认应答机制 2 超时重传机制 3 滑动窗口及快重传机制 4 流量控制 5 拥塞控制及慢启动机制 6 延迟应答 7 捎带应答 8 粘包问题 一
  • PLC中的定时器

    1 脉冲定时器 将指令列表中的 生成脉冲 指令TP拖放到梯形图中 在出现的 调用选项 对话框中 将默认的背景数据块的名称改为T1 可以用它来做定时器的标示符 单击 确定 按钮 自动生成背景数据块 定时器的输入IN为启动输入端 PT为预设时间
  • 二叉搜索树的概念 及 功能代码实现

    1 概念 二叉搜索树 又称 二叉排序树 特点 二叉树 每个节点中保存关键字 key 关键字需要具备 比较 的能力 每个节点 都是 大于左子树 小于右子树 二叉树搜索树中 不会出现 相等的 key 中序遍历 一定是 有序的 时间复杂度 最好和
  • 利用Hbuilder将Vue项目打包成apk

    一 配置config index js 本人没有配置index js文件 就开始进行了打包 结果最终效果是页面空白 解决了空白 接着底部图标 我是用的阿里巴巴图片 资源找不到 所以配置这步比较重要 1 页面空白的解决 打开config in
  • uboot2014移植到QT2440

    http bbs chinaunix net thread 4143968 1 1 html
  • Kotlin 协程(Coroutines)配合使用 Retrofit,网络请求

    第一步 添加所需依赖 管理生命周期 implementation androidx lifecycle lifecycle livedata ktx 2 2 0 implementation androidx lifecycle lifec
  • K-近邻法(KNN算法)

    1 kNN算法 K 最近邻 k Nearest Neighbors 描述 简单地说 k 近邻算法采用测量不同特征值之间的距离方法进行分类 k 近邻算法 是一种基本 分类与回归 方法 它是是 监督学习 中分类方法的一种 属于 懒散学习法 惰性
  • 【实验四】【使用Select 语句查询数据】

    文章目录 数据 一 简单查询 二 汇总查询 三 连接查询和子查询 数据 这里为了体现查询语句的效果 下面根据查询语句的要求设计数据 结果如下 KC表 XSQK表 XS KC表 打开 SQL Server Management Studio
  • 【数据结构与算法】--二叉树OJ题

    单值二叉树 如果二叉树每个节点都具有相同的值 那么该二叉树就是单值二叉树 只有给定的树是单值二叉树时 才返回 true 否则返回 false 示例 1 输入 1 1 1 1 1 null 1 输出 true 示例 2 输入 2 2 2 5
  • 【C语言技巧】滑动滤波算法滤除抖动

    简易滑动滤波算法 算法原理 将新数据放入到数组的最后 每次在得到数据之前先将数据左移一个元素 踢掉第一个元素最旧的数据 最后数组计算平均 include
  • 解决adb push时出现的“Read-only file system“问题

    出现Read only file system问题 不是因为文件或者文件夹的权限不对 而是要push的目录对应的分区是以只读方式挂载的 网上给出的解决办法是重新以读写方式挂载对应分区 以 system分区为例 使用命令 mount o re
  • 手写数字识别画板前后端实现

    1 系统概要 手写数字识别画板系统 按照MVC原则开发 主要由两部分组成 交互界面 视图View 部分是传统的HTML CSS JS网页 这同样也是一种遵循MVC开发方式 手写数字识别部分 模型Model 是使用Python开发的深度学习的
  • 【网络原理】传输层重点协议 TCP与UDP协议详解

    文章目录 一 UDP协议 1 UDP特点 2 UDP协议报文格式 3 基于UDP的应用层协议 4 关于UDP协议的一个拓展问题 经典面试题 二 TCP协议 1 TCP协议报文格式 2 TCP原理 1 确认应答机制 安全机制 2 超时重传机制
  • 【C++STL】快速排序算法(sort)的原理与使用

    一 sort算法原理 std sort 是 C 标准库中提供的排序算法 它使用的是一种经典的排序算法 快速排序 Quicksort 或者是其变种 快速排序是一种基于比较的排序算法 通过不断地选择一个基准值 pivot 将待排序序列分割为两个
  • 做好参加蓝桥杯省赛的准备

    1 选择方向 在除此选择要参加蓝桥杯的方向时是刚学完Java程序设计 对Java产生了比较大的兴趣 也觉得Java是一个特别灵活好用的语言 特别是eclipse的强大快捷键和找错功能使得编程快了很多 也有部分原因是因为C 好长时间没用 都快
  • android oaid

    Oaid获取接入流程 移动智能设备标识公共服务平台 AndroidID IMEI OAID获取 oaid sdk 1 1 0的aar 随着Google对隐私的重视以及Android10的逐渐普及 获取设备的唯一标识越来越来难 在Androi
  • python爬取豆瓣电影并分析_爬取豆瓣电影top250提取电影分类进行数据分析

    标签 空格分隔 python爬虫 一 爬取网页 获取需要内容 我们今天要爬取的是豆瓣电影top250 页面如下所示 我们需要的是里面的电影分类 通过查看源代码观察可以分析出我们需要的东西 直接进入主题吧 知道我们需要的内容在哪里了 接下来就