【Python】对我自己的博客进行统计,看看哪年哪月发帖量最大
代码很简单,主要利用了requests进行网络访问,beautifulSoup进行页面文本分析,re进行正则表达式抽取文字,前面两个需要pip install name去安装,后者是内部对象所以不用安装。代码如下,只有区区二十七行:
from bs4 import BeautifulSoup
import requests
import re
user_agent='Mozilla/4.0 (compatible;MEIE 5.5;windows NT)'
headers={'User-Agent':user_agent}
dic={}; #定义个字典对象,存月份和个数
for i in range(1,90):
html=requests.get('http://www.cnblogs.com/xiandedanteng/p/?page='+str(i),headers=headers)
soup= BeautifulSoup(html.text,'html.parser',from_encoding='utf-8');
for descDiv in soup.find_all(class_="postDesc2"):
rawInfo=descDiv.text #得到class="postDesc2"的div的内容
yearMonth=re.search(r'\d{4}-\d{2}',rawInfo).group() #用正则表达式去匹配年月并取其值
# 将年月存入字典,如果存在就在原基础上加一
if yearMonth in dic:
dic[yearMonth]=dic[yearMonth]+1
else:
dic[yearMonth]=1
list=sorted(dic.items(),key=lambda x:x[1]) #将排序后的字典转化为数组
list.reverse()
for item in list:
print(item)
而得到的结果如下:
('2017-09', 80)
('2019-10', 66)
('2018-04', 56)
('2018-05', 45)
('2013-09', 43)
('2019-09', 42)
('2017-08', 38)
('2019-03', 37)
('2013-08', 32)
('2017-11', 32)
('2014-07', 26)
('2014-12', 22)
('2017-06', 21)
('2017-12', 21)
('2017-01', 20)
('2018-03', 19)
('2019-08', 18)
('2016-07', 17)
('2013-11', 15)
('2014-08', 15)
('2016-03', 15)
('2013-10', 14)
('2014-04', 14)
('2014-05', 14)
('2015-01', 14)
('2019-11', 13)
('2014-11', 12)
('2016-08', 12)
('2015-07', 10)
('2016-02', 9)
('2017-07', 9)
('2014-01', 8)
('2014-10', 7)
('2015-08', 7)
('2018-01', 7)
('2015-04', 6)
('2014-02', 5)
('2015-06', 5)
('2017-10', 5)
('2013-12', 4)
('2015-02', 4)
('2015-05', 4)
('2014-03', 3)
('2017-02', 3)
('2014-09', 2)
('2015-12', 2)
('2017-03', 2)
('2018-06', 2)
('2018-07', 2)
('2019-05', 2)
('2014-06', 1)
('2015-11', 1)
('2016-05', 1)
('2016-06', 1)
('2016-10', 1)
('2017-04', 1)
('2017-05', 1)
('2019-04', 1)
('2019-07', 1)
偶尔玩玩Python还挺有意思,这门技能可不能忘了。
--END-- 2019年11月3日15:26:38
【Python】对我自己的博客进行统计,看看哪年哪月发帖量最大的更多相关文章
- 这几天有django和python做了一个多用户博客系统(可选择模板)
这几天有django和python做了一个多用户博客系统(可选择模板) 没完成,先分享下 断断续续2周时间吧,用django做了一个多用户博客系统,现在还没有做完,做分享下,以后等完善了再慢慢说 做的 ...
- python环境变量配置 - CSDN博客
一.下载: 1.官网下载python3.0系列(https://www.python.org/) 2.下载后图标为: 二.安装: Window下: 1.安装路径: 默认安装路径:C:\python35 ...
- Python爬虫简单实现CSDN博客文章标题列表
Python爬虫简单实现CSDN博客文章标题列表 操作步骤: 分析接口,怎么获取数据? 模拟接口,尝试提取数据 封装接口函数,实现函数调用. 1.分析接口 打开Chrome浏览器,开启开发者工具(F1 ...
- 【转载】国内网站博客数据统计选免费Google Analytics还是百度统计
[转载]国内网站博客数据统计选免费Google Analytics还是百度统计 Google Analytics谷歌统计是我用的第一个网站统计工具,当然现在也一直在用.Google Analytics ...
- python网络爬虫 新浪博客篇
上次写了一个爬世纪佳缘的爬虫之后,今天再接再厉又写了一个新浪博客的爬虫.写完之后,我想了一会儿,要不要在博客园里面写个帖子记录一下,因为我觉得这份代码的含金量确实太低,有点炒冷饭的嫌疑,就是把上次的代 ...
- 用Python和Django实现多用户博客系统(二)——UUBlog
这次又更新了一大部分功能,这次以app的形式来开发. 增加博客分类功能:博客关注.推荐功能(ajax实现) 增加二级频道功能 更多功能看截图及源码,现在还不完善,大家先将就着看.如果大家有哪些功能觉的 ...
- 在 Windows Azure 网站上使用 Django、Python 和 MySQL:创建博客应用程序
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Sunitha Muthukrishna 撰写. 根据您编写的应用程序,Windows Azure 网站上的基本Python 堆 ...
- Python开发【项目】:博客后台
概述 通过自己写的博客后台代码.思路,来与武sir的代码进行一个差异化的比较,记录之间的差距,改善以后写代码的思路 博客后台这个项目,对之前Django学习的各个知识点都有涉及到,非常重要 用户登录验 ...
- Python网络数据采集(1):博客访问量统计
前言 Python中能够爬虫的包还有很多,但requests号称是“让HTTP服务人类”...口气不小,但的确也很好用. 本文是博客里爬虫的第一篇,实现一个很简单的功能:获取自己博客主页里的访问量. ...
- python关于Django搭建简单博客项目(详解一)
上一篇我们说了如何搭建简易博客网站,下面我们来进行详细解答.本文没有特定顺序,请结合上一篇和源代码参照学习. 相关源代码和解析请参看:https://github.com/Cheng0829/mysi ...
随机推荐
- gcc和g++编译器
.c文件,gcc当做c语言处理 .cpp文件,gcc和g++当做c++处理 .c文件和.cpp文件编译时,都是使用的gcc编译器 .cpp使用gcc链接,需要加入-lstdc++选项 举例 #incl ...
- exp/imp 数据库数据导出/导入
一.exp数据导出 1.导出全部数据 exp 用户名/密码@服务名 file=文件存储路径/xxx.dmp log=日志存储路径/xxx.log full=y 例: [oracle@dbservice ...
- GVIM、VIM
全世界最好的编辑器VIM之Windows配置篇 Highlight all search pattern matches Top 10 things Vi user need to know abou ...
- 【2017-07-03】CSS实现父级div透明,子集不透明。
父级背景色 background: rgba(0, 0, 0, 0.5);
- 使用pyinstaller打包使用scrapy模块的程序运行时出现No such file or directory的问题解决
解决的方案是利用pyinstaller的hook特性,步骤如下: 1.在项目目录新建hooks目录,目录中新建hooks-scrapy.py 文件,文件内容如下: from PyInstaller.u ...
- Selenium(七)多窗口切换、等待方法、alert对话框处理
一.多窗口切换 1.打开百度首页 2.在百度中搜索博客园 3.从搜索结果中跳转到博客园 4.博客园首页和百度搜索页面切换 handle:句柄 二.等待方法 time.sleep(5) 先导入方法 参数 ...
- Selenium(一)自动化测试简介
1.软件开发流程 产品分析需求--架构师确认系统包含哪些模块--开发编码--开发和测试一起做单元测试--测试开展版本(集成)测试(使用手工测试,测试通过后,才开始设计脚本)--测试开展系统测试--最后 ...
- linux实操_shell流程控制
if判断: 基本语法: if [ 条件判断式 ] then 程序 elif [ 条件判断式 ] then 程序 fi 实例:请编写一个shell程序,如果输入的参数,大于60,则输出“及格了”,如果小 ...
- VirtualBox Linux虚拟机 网络设置 centos
VirtualBox网络设置成桥接 进去系统打开终端 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 用Vim编辑器打开配置文件,输入命令:vi /etc ...
- ansible模块补充
1.fetch模块, 将远程机器上的文件拉取到本地,以ip或者主机名生成目录,并保留原来的目录结构,与copy模块的功能相反. 主要参数 : dest -- 目标地址 src -- 源地址 例子 ...