Python爬虫爬取博客实现可视化过程解析
时间:2022-07-27
本文章向大家介绍Python爬虫爬取博客实现可视化过程解析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
源码:
from pyecharts import Bar
import re
import requests
num=0
b=[]
for i in range(1,11):
link='https://www.cnblogs.com/echoDetected/default.html?page='+str(i)
headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36'}
r=requests.get(link,headers=headers)
html=r.text
post=re.findall('<span class="post-view-count" (.*?)</span ',html)
for i in post:
i = i.replace("阅读(", "")
i = i.replace(")","")
b.append(i)
num=num+1
columns=[]
for i in range(1,num+1):
#设置行名
columns.append('博客'+str(i))
#设置数据
#设置柱状图的主标题与副标题
bar = Bar("柱状图", "每个博客阅读数量")
#添加柱状图的数据及配置项,先行后列
bar.add("阅读量", columns, b, mark_line=["average"], mark_point=["max", "min"])
#生成本地文件(默认为.html文件)
bar.render()
爬虫不是重点,只是拿来爬阅读数量,pyecharts是重点
这次爬的是我自己的博客,一共10页,每页10片文章,正好写了100篇博客
pyecharts安装:
pip install wheelpip install pyecharts==0.1.9.4
直接pip install pyecharts会下载最新版无法调用
注意点:pyecharts调用,貌似无法实现多个py文件一起调用(意思是编写时不能在多个文件里出现import语句)
步骤解释:
1.爬虫爬取阅读数
2.去除非法字符装入新的数组
3.设置横轴数据,生成柱状图
4.在当前目录下生成render.html,打开查看柱状图
结果:
柱状图是动态的,不是静态的
以上就是本文的全部内容,希望对大家的学习有所帮助。
- Java多线程详解3
- SpringMVC处理multipart请求.
- 一条简单的sql语句运行15天的原因分析(r5笔记第17天)
- 巧用flashback database实现灵活的数据回滚(r5笔记第16天)
- Spring Cache For Redis.
- css重写checkbox样式
- 通过shell脚本同时监控多个数据库负载(r5笔记第14天)
- Java 定时器 Timer 的使用.
- 通过shell脚本来统计段大小(r5笔记第14天)
- Linux下配置MySQL主从复制(r5笔记第13天)
- Final 关键字
- ArrayList 和 LinkedList的执行效率比较
- 关于consistent gets(r5笔记第12天)
- wait/notify 实现多线程交叉备份
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 缓冲区溢出
- 指针变量的传值和传址
- 又被限速,我决定用 Serverless 搭建一款私人网盘
- C语言与C++常见面试题
- delete 和 delete [] 的真正区别
- C语言最大难点揭秘:编程的祸根!
- 【漏洞修复】MongoDB未授权访问漏洞复现和修复
- 在 Istio 中实现 Redis 集群的数据分片、读写分离和流量镜像
- 实现Android 滑动退出Activity的功能
- Android开发中播放声音的两种方法分析
- Android UI设计与开发之实现应用程序只启动一次引导界面
- Android编程实现两点触控功能示例
- Android RecycleView添加head配置封装的实例
- Android编程实现捕获程序异常退出时的错误log信息功能详解
- Android开发之Socket通信传输简单示例