python爬虫数据可视化_适用于Python入门者的爬虫和数据可视化案例

本篇文章适用于Python小白的教程篇,如果有哪里不足欢迎指出来,希望对你帮助。

本篇文章用到的模块:

requests,re,os,jieba,glob,json,lxml,pyecharts,heapq,collection

首先

本文我们的目的

抓取周杰伦的所有歌曲,

歌词,

以及评论

直接在搜索框搜索周杰伦

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

第一步:

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

在谷歌浏览器的抓包工具(F12)里面查看交互信息发现如下:

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

如图所示:是我们需要的信息,知道这些事情就变得简单了

我们不需要用复杂的工具比如(selenium)去加载整个页面

事实上,如果还没想到抓取歌曲的方法,我估计就得用它了

我们再看header里面有什么

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

这里面的string就不用管了,因为它已经在我们的url里面了

只需要看request headers 这个就是我们给服务器发送的东西,

发送之后,服务器返回给我们的就是network里面的信息。

好,接下来我们伪造浏览器发送请求。

具体代码如下:

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

这里面用到了xpath来找到对应标签里面数据,

代码不重要,思想懂了就行(代码单独执行可行)

执行结果如下:

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

开始抓取歌曲信息

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

同样的道理我们通过伪造方式发送信息,获取歌曲信息!!

直接上代码

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

上面需要注意:xpath来获取需要的信息,利用正则来获取ID(其实有很多方法)

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

一样的道理,我们分析network来获取我们需要的信息歌词,评论!!

直接上代码

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

上面需要注意的是:利用json获取需要的数据(至少比正则快点)

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

数据分析,可视化

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

上面需要注意的是:我们合并数据的时候,可以选择性的删除一些无用数据

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

下面我们对周杰伦歌曲进行情绪化分析

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

下面完成数据词频各种分析

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

我们来看下结果

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

a3e244063003

适用于Python入门者的爬虫和数据可视化案例

怎么样,学到了吗?看完记得动手操作哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/340205.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt4 连接mysql_Qt4访问mysql 数据库的简单教程

编译问题:1、系统中安装有VC,所以头文件冲突手工修改makefile删除所有-I 加载VC头文件的项目2、mysql cannot find -llibmysql指定libmysql.a的路径-LQt 4 访问 mysql 数据库的简单教程云帆 2006/5/18因为目前无法使用linux, 所以 Qt 4.1.2 是…

python多个函数_什么是在Python中使用多个构造函数的干净的、pythonic的方法?

其实None对于“魔法”价值观来说要好得多:class Cheese(): def __init__(self, num_holes None): if num_holes is None: ... 现在,如果您想完全自由地添加更多参数:class Cheese(): def __init__(self, *args, **kwargs): #args -- tuple o…

Java 8和Java 14之间的新功能

从版本9开始,Java每6个月就会有新功能,因此很难跟踪这些新更改。 互联网上的大多数信息都描述了最近两个Java版本之间的变化。 但是,如果您的情况与我相似,则说明您使用的不是Java的最新版本,而是使用了较旧的Java版本…

mysql中如何卸载插件_Eclipse中如何卸载插件

很久没用Eclipse了,今天打开的时候,突然报Android开发插件需要更新。打开插件管理页面,更新Android插件,又提示和旧版本有冲突,心想只能卸载了重新安装了。找了半天没找到在哪下载,把Eclipse目录下的plugin…

python io_NumPy IO

NumPy IO Numpy 可以读写磁盘上的文本数据或二进制数据。 NumPy 为 ndarray 对象引入了一个简单的文件格式:npy。 npy 文件用于存储重建 ndarray 所需的数据、图形、dtype 和其他信息。 常用的 IO 函数有: load() 和 save() 函数是读写文件数组数据的两个…

Java 14:instanceof的模式匹配

Java 14引入了pattern Matching for instanceof (另一种预览语言功能) ,从而消除了在使用instanceof时进行强制转换的需要。 例如,考虑以下代码: if (obj instanceof String) { String s (String) obj; System.out.pr…

centos7 mysql启动后端口_centos7 修改mysql5.7默认端口后启动异常

关闭selinux的方法有两种:临时关闭和永久关闭。查看selinux的状态:sestatus[root162-219-29-3 ~]# sestatusSELinux status: enabledSELinuxfs mount: /sys/fs/selinuxSELinux root directory: /etc/selinuxLoaded policy name: targetedCurrent mode: e…

computed怎么使用_Vuex 基本使用

简单介绍iPhone X 是 iPhone, Vuex 并不是 Vue.我们查看官方文档可以知道:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。怎么理解呢?就拿我两位数的资产的银行卡来说吧,基本的存钱取钱,就是状态管理。怎么用我们将以一个简…

自然数 素数 质数_在Java中获取素数的无限列表

自然数 素数 质数一个常见的问题是确定数字的素因式分解。 蛮力方法是审判部门( 维基百科 , 可汗学院 ),但是如果必须考虑多个数字,这需要大量的浪费工作。 一种广泛使用的解决方案是Eratosthenes筛( 维基…

mysql 大数据 join_MySQL JOIN算法原理

MySQL的JOIN相关操作,是通过“嵌套循环连接算法,NLJ”或者该算法的优化变体“块嵌套循环连接算法,BNLJ”来实现的。##### 嵌套循环连接算法两个表join时,可以简单理解为两层for循环,外层循环一般称作驱动表&#xff0c…

windows安装python3步骤_Windows下python3和python2安装与一起使用

一、python2和python3安装 2、安装步骤,直接双击运行,记得勾选添加环境变量就可以。图片1.png 3、安装已经选择了添加这个环境变量,所以不用再去配置。 如果没有勾选,得自己去设置。 鼠标右键我的电脑 -> 属性 -> 点击高级系…

mysql ondelete_MySQL on delete cascade语句

在本教程中,您将学习如何使用MySQL ON DELETE CASCADE引用操作来执行外键从多个相关表中删除数据。在上一个教程中,我们学习了如何使用单个DELETE语句从一个或多个相关表中删除数据。但是,MySQL提供了一种更为有效的方法,称为ON D…

您想了解的所有Throwable

本文是有关异常的教程。 但不是通常的一种。 其中有许多内容可以告诉您异常的含义,如何抛出异常,捕获异常,已检查异常与运行时异常之间的区别,等等。 没有必要了。 这对您来说也很无聊。 如果没有,那么请阅读其中的一本…

python构建二叉树_BinaryTree:学习二叉树的Python库

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。简介: 您是否在为考试、作业或技术面试学习二叉树? Binarytree是一个Python库,它通过一个简单的API生成二叉树,可以进行检查和操作。它让您…

mysql union as 注入_sql注入入门 之 mysql 常规注入 [ union方式 ]

1,常规数字型 mysql 实例注入点,如下:1https://www.vuln.com/md_materia_profile_view.php?viewid22,依旧先尝试下经典的单引号,如下,虽然没暴露出明显的数据库报错信息,但我们发现,此时返回的页面已经异常了,经验判断,十有八九是个注入点,先不管那么多,我们继续1https://www.…

gradle docker_带有Gradle的Docker容器分为4个步骤

gradle docker您是否需要通过Java Web应用程序创建Docker映像? 您在使用Gradle吗? 如果是这样,那么您距Docker nivana仅4步之遥。 对于此示例,我将使用一个简单的Spring Boot应用程序。 您可以在我的名为galoshe的Github存储库中…

mysql数据库连接关闭_解决mysql数据库连接自动关闭问题

MySQL是一个小型关系型数据库管理系统,由于MySQL体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。关于mysql自动关闭服务的现象,可以通过mysql服务器…

python socket编程_Python学习记录-socket编程

1. OSI七层模型详解2. Python socket 什么是 Socket? Socket又称”套接字”,应用程序通常通过”套接字”向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。 Python 提供了两个级别访问的网络服务: 低级别的网络服…

REST / HTTP方法:POST与PUT与PATCH

每个HTTP请求都包含一个方法 (有时称为verb ),该方法指示对标识的资源执行的操作。 在构建RESTful Web服务时,HTTP方法POST通常用于创建资源,而PUT用于资源更新。 尽管在大多数情况下这很好,但使用PUT进行…

判断frame是否已创建_类的创建

1. 士兵 许三多 有一把 AK47 2. 士兵 可以开火 3. 枪 能够 发射 子弹 4. 枪 装填 子弹---增加子弹数量 class Gun:def __init__(self,type):self.type type# 刚开始枪没有子弹self.bullet_count 0def __str__(self):return ("%s 已到位" % self.type)def shoot(sel…