【Python】查自己博客每月发帖多少个的爬虫

源码:

复制代码
#encoding=utf-8

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,139):
    html=requests.get('http://www.cnblogs.com/heyang78/p/?page='+str(i),headers=headers)
    soup= BeautifulSoup(html.text,'html.parser');

    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[0]) #将排序后的字典转化为数组

#存入文件
with open(r'output.txt','w') as outfile:
    for item in list:
        print(item)
        outfile.write(str(item)+"\n")
复制代码

输出文件内容:

复制代码
('2013-08', 33)
('2013-09', 42)
('2013-10', 14)
('2013-11', 15)
('2013-12', 4)
('2014-01', 8)
('2014-02', 5)
('2014-03', 3)
('2014-04', 14)
('2014-05', 14)
('2014-06', 1)
('2014-07', 17)
('2014-08', 15)
('2014-09', 2)
('2014-10', 7)
('2014-11', 12)
('2014-12', 22)
('2015-01', 13)
('2015-02', 4)
('2015-04', 6)
('2015-05', 4)
('2015-06', 5)
('2015-07', 10)
('2015-08', 6)
('2015-11', 1)
('2015-12', 2)
('2016-02', 9)
('2016-03', 14)
('2016-05', 1)
('2016-06', 1)
('2016-07', 17)
('2016-08', 12)
('2016-10', 1)
('2017-01', 20)
('2017-02', 3)
('2017-03', 2)
('2017-04', 1)
('2017-05', 1)
('2017-06', 20)
('2017-07', 9)
('2017-08', 16)
('2017-09', 78)
('2017-10', 5)
('2017-11', 32)
('2017-12', 21)
('2018-01', 7)
('2018-03', 19)
('2018-04', 53)
('2018-05', 44)
('2018-06', 2)
('2018-07', 2)
('2019-03', 37)
('2019-04', 1)
('2019-05', 2)
('2019-07', 1)
('2019-08', 17)
('2019-09', 41)
('2019-10', 62)
('2019-11', 73)
('2019-12', 64)
('2020-01', 80)
('2020-02', 42)
('2020-03', 61)
('2020-04', 43)
('2020-05', 68)
('2020-06', 26)
('2020-09', 1)
('2021-08', 39)
('2021-09', 51)
复制代码

 转成csv文件,用Excel打开,图表化的结果:

 

posted @   逆火狂飙  阅读(43)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2017-09-21 【Canvas与雷达】点鼠标可暂停金边蓝屏雷达显示屏
2013-09-21 【java/image】将指定路径下所有的png图片进行反色处理
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示