python爬虫数据可视化软件_python爬虫及数据可视化分析

1.前言

本篇文章主要介绍python爬虫及对爬取的数据进行可视化分析,本次介绍所用的网站是(https://www.duanwenxue.com/jingdian/zheli/)

2.数据爬取

2.1定位到爬取数据

打开我们要爬取的网页,右键选择检查,在窗口中单击左上角箭头,即可查看我们需要爬取的内容:

5e19bbc4db77caef9b7343c9253fa4f4.png

2.2爬虫实现方法

我们要爬取一个网页,首先我们需要向网页发送一个请求,然后用get方法抓取数据(例如我要爬取https://www.duanwenxue.com/jingdian/zheli/的内容)

import requests

url = 'https://www.duanwenxue.com/article/5034441.html'

doc = requests.get(url)

print(doc.text)1

2

3

4

通过这个方法获得数据是整个网页的源码,接下来我们,接下来要从源码中找到并提取数据。Beautiful Soup 是 python 的一个库,其最主要的功能是从网页中抓取数据。(例如我要获得https://www.duanwenxue.com/article/5035160.html的散文)

import requests

from bs4 import BeautifulSoup

url='https://www.duanwenxue.com/article/5034441.html'

html=requests.get(url)

html.encoding='gbk'

doc=BeautifulSoup(html.text,'lxml')

a=doc.find('span',{'id':'audio-span'})

c=doc.find('div',{'id':'shangDiv'})

a.decompose() # 删除无用信息

c.decompose()

cont=doc.find('div',{'class':'article-content'}).findAll('p')

content=''

for i in cont:

print(i.text)1

2

3

4

5

6

7

8

9

10

11

12

13

14

输出结果:

人生实在当下,生活唯有形态在奋斗。——余昌开

当下就是人生实现梦想奋斗时。——余昌开

人务必从今开始,努力奋斗,实现人生的理想。——余昌开

人活着最务实的形态,是现在正在奋斗人生美好的进行中。——余昌开

版权作品,未经《短文学》书面授权,严禁转载,违者将被追究法律责任。

3.数据可视化分析

数据可视化是数据分析很重要的一部分,将数据进行可视化,更直观的呈现使数据更加客观、更具说服力。

matplotlib是用来创建图表的工具包之一,是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。

3.1将短文学网的各类文章做一个统计

柱形图:

plt.rcParams['font.sans-serif']=['SimHei']

plt.figure(figsize=(10,10))

plt.xticks(rotation=45)

plt.title("各类文章数目")# 标题

plt.xlabel("文章类型")#横坐标名字

plt.ylabel("数量")#纵坐标名字

plt.bar(x, y)

for x,y in zip(x,y): plt.text(x,y,"{f}".format(f=y),ha="center",va='bottom')

plt.show()1

2

3

4

5

6

7

8

9

10

结果:

f2d748cc31c33cd56f392679c5972b18.png

饼状图:

plt.figure(figsize=(30, 30)) #设置大小

plt.pie(y,labels = x, autopct='%1.1f%%')

plt.axis('equal')

plt.show()1

2

3

4

结果:

2f784a44419730aa9632ea37472966d9.png

通过对柱形图和饼状图的观察,可以发现在短文学中,“散文随笔”,“心情随笔”,“散文诗”,“散文文字”,“经典语录”类的文学作品占大部分(82%),而其他类型的作品占小部分(18%)。

3.2对某一类文章进行分析

我们选择对励志文章的标题进行分析,通过标题的重点词汇生成词云,反映出这类文章的大致内容趋向于哪一方面。

代码如下:

stopwords={'你','我','的','自己'}# 去掉无用的词

word_cut=jieba.cut(word_content)

word_cut_join=" ".join(word_cut)#把分词用空格连起来

#生成词云

wc=WordCloud( font_path='simsun.ttc',#设置字体 max_words=100,#词云显示的最大词数 # mask=mask_img,#设置背景图片 stopwords=stopwords, background_color='white'#背景颜色 ).generate(word_cut_join)

plt.imshow(wc)

plt.axis('off')#去掉坐标轴

plt.savefig('title.jpg')

plt.show()1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

结果:

206a0ad3059ba88e0717edcbe5bf14de.png

可以看到,多次出现的大学有 “河南”,“科技”,“大学”,“农学院”。

以上便是本文全部内容,代码只包含主要部分,关于数据可视化还有其他几种方法,具体可查看python使用Matplotlib画图。

文章来源: blog.csdn.net,作者:Tbaodeng_T,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Tbaodeng/article/details/111825063

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

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

相关文章

mysql同表字段前4位复制_MySQL不同表之前的字段复制

有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,这很简单,SQL可以这么写:UPDATE tb_1 SET content_target content_source;大概写法如下:Update {your_table} set {source_field} {object_field} WHE…

php mysql购物车实现原理_PHP实现购物车的思路和源码分析

这里主要是记录下自己的购物车的思路,具体功能实现,但是尚未在实际项目中用到,不对之处欢迎指正项目中需要添加购物车。目录说明buy.php 点击购买之后的操作car.php 购物车,显示购买的东西conn.php 数据库连接参数delete.php 删除…

java 文件目录_Java——文件及目录File操作

packagefile;importjava.io.File;/*** 删除文件和目录**/public classDeleteFileUtil {/*** 删除文件,可以是文件或文件夹**paramfileName* 要删除的文件名*return删除成功返回true,否则返回false*/public static booleandelete(String fileName) {File …

java 对象池 实现_Java对象池技术的原理及其实现

看到一片有关于java 对象基础知识,故转载一下,同时学习一下。摘 要 本文在分析对象池技术基本原理的基础上,给出了对象池技术的两种实现方式。还指出了使用对象池技术时所应注意的问题。关键词 对象池;对象池技术;Java…

java heap 参数_java heap space解决方法和JVM参数设置

因为程序要从数据读取近10W行记录处理,当读到9W的时候就出现 java.lang.OutOfMemoryError: Java heap space 这样的错误。在网上一查可能是JAVA的堆栈设置太小的原因。跟据网上的答案大致有这两种解决方法:1、设置环境变量set JAVA_OPTS -Xms32m -Xmx512…

java 进程崩溃_java程序崩溃自启脚本

java程序崩溃自启脚本教程1.将java程序崩溃自启脚本下载下来,放入项目的同级目录,将proc_name"xxx.jar" 更改成对应的名称2.chmod 777 文件 给于权限3.将想要jar程序停止 执行./test.sh 如果出现-bash: ./practice1.sh: /bin/bash^M: bad interpreter: No such file…

java程序流程控制_java程序流程控制

顺序结构分支结构(条件结构)循环结构控制循环结构顺序结构:如果代码里没有流程控制,程序是至上而下一行一行执行的,一条语句执行完之后继续执行下一条语句,直到程序的最后。if语句:基本语法:if(表达式){方法体}else if(表达式){方…

java调用c视频接口_JAVA本地调用(JNI- java调用c)

记录一下工作内容,对术语了解不多,暂且这样记着吧。java调用c一、写jni的步骤如下:1.创建java类,定义接口函数,使用native修饰;2.将java类编译成class;3.将class编译成*.h头文件;4.在…

java 随机 数字 字母组合_java生成随机数字和字母组合

import java.util.Random;public String getCharAndNumr(int length){String val "";Random random new Random();for(int i 0; i < length; i){String charOrNum random.nextInt(2) % 2 0 ? "char" : "num"; // 输出字母还是数字if(&q…

java 声明抽象方法_java – 类必须声明为abstract或实现抽象方法错误

这是我的代码,假设在按下按钮时更改一些文本&#xff1a; –public class MyActivity extends ActionBarActivity {TextView txtview;Button butto;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.…

java socket 线程池_java socket编程的一个例子(线程池)

服务器程序EchoServer.java&#xff1b;import java.io.*;import java.net.*;import java.util.concurrent.*;public class EchoServer {private int port10000;private ServerSocket serverSocket;private ExecutorService executor;//线程池private final int pool_size4;pri…

java是值传递还是引用传递_Java 到底是值传递还是引用传递?

点赞、收藏还挺多&#xff0c;求一波关注------------------------------------------------------------没人邀请&#xff0c;自己强行回答一波。关于这个问题&#xff0c;引发过很多广泛的讨论&#xff0c;看来很多程序员对于这个问题的理解都不尽相同&#xff0c;甚至很多人…

java趣事_【趣事】Java程序员最年轻,C++程序员最年老

原标题&#xff1a;【趣事】Java程序员最年轻&#xff0c;C程序员最年老说起我们对编程世界现有的刻板印象&#xff0c;你一定听说过类似于没有人喜欢用Java编码或者使用C 都是老人家&#xff0c;等等这样的话。为了分析这些刻板印象背后的真相&#xff0c;Trestle Technology的…

koa2 mysql 中间件_Koa2 和 Express 中间件对比

koa2 中间件koa2的中间件是通过 async await 实现的&#xff0c;中间件执行顺序是“洋葱圈”模型。中间件之间通过next函数联系,当一个中间件调用 next() 后&#xff0c;会将控制权交给下一个中间件, 直到下一个中间件不再执行 next() 后, 将会沿路折返,将控制权依次交换给前一…

mysql 索引 内存_mysql索引【第三篇】

##innodb引擎的数据是按页为单位的&#xff0c;当需要读一条记录时&#xff0c;并不是将这个记录本身从磁盘中读取出来&#xff0c;而是以页为单位将整个页读取到内存中&#xff0c;每个页默认大小为16kb数据查询过程&#xff1a; 磁盘---->内存---->返回结果数据更新过…

python notebook配置_使用 Jupyter Notebook 配置 Stata\Python\Julia\R

作者&#xff1a;许梦洁 (中山大学)E-mail: xumj9mail2.sysu.edu.cn原文链接&#xff1a;磐石若水 → 使用 Jupyter Notebook 配置 Stata/Python/Julia/RStata 连享会   课程主页 || 直播视频 || 知乎推文扫码查看连享会最新专题、公开课视频和 100 多个码云计量仓库链接。早在…

qt 飞扬青云_Qt编写带频谱的音乐播放器

之前有个项目需要将音频文件的频谱显示出来&#xff0c;想了很多办法&#xff0c;后面发现fmod这个好东西&#xff0c;还是跨平台的&#xff0c;就一个头文件一个库文件就行&#xff0c;简单小巧功能强大&#xff0c;人家做的真牛逼。为了不卡住界面&#xff0c;采用了多线程处…

java什么是工作流程_springmvc工作流程是什么

springmvc工作流程是什么&#xff1a;1、springmvc工作原理图2、springmvc工作流程1、 用户向服务端发送一次请求&#xff0c;这个请求会先到前端控制器DispatcherServlet(也叫中央控制器)。2、DispatcherServlet接收到请求后会调用HandlerMapping处理器映射器。由此得知&#…

java se入门_java SE 入门之运算符(第三篇)

在 java 中主要有以上运算符&#xff0c;分为 赋值运算符 &#xff0c;算术运算符、关系运算符(比较运算符),逻辑运算符和三目运算符(三元运算符).我们一起来学习下吧&#xff01;一、赋值运算符赋值运算符主要有五个、分别是 (赋值)、(加上一个在赋值)、-(减去一个在赋值)、*…

java 封闭实例_不能访问类型…的封闭实例

出于教育目的&#xff0c;我尝试制作一个服务器和一个客户端&#xff0c;其中服务器从多个客户端接收数据并回显每条消息。问题是&#xff0c;当我尝试让服务器一次将回显发送到所有客户端时。public class SocketServer {ArrayList ts new ArrayList();ServerSocket serv;sta…