获取博客园本人的积分排名数据:

1. 抓包获取积分排名数据返回接口:http://www.cnblogs.com/belle-ls/mvc/blog/sidecolumn.aspx?blogApp=belle-ls

2. 解析返回的数据,获取积分排名

3. 开启线程,循环打印积分排名信息

from bs4 import BeautifulSoup
import time
import requests
import threading class BlogRankMonitor(object):
"""
获取博客园积分排名
""" def __init__(self, id):
self.urlBasic = 'http://www.cnblogs.com/%s/mvc/blog/sidecolumn.aspx?blogApp=%s'
self.id = id
self.score = 0
self.rank = 0 def get_nums(self, blogs_des):
"""
分割字符串 积分 - 43 排名 - 283325,获取数字
:return:
"""
split_str = blogs_des.split('-')[1].strip()
return split_str def get_blog_ranks(self):
"""
解析页面获取博客积分和排名
:return:
"""
url = self.urlBasic % (self.id, self.id)
res = requests.get(url)
soup = BeautifulSoup(res.text, "lxml")
liScore= soup.find(class_="liScore")
for child in liScore.children:
if u'积分' in child.string:
self.score = self.get_nums(child.string)
elif u'排名' in child.string:
self.rank = self.get_nums(child.string)
print("积分:", blog.score, "排名:", blog.rank, "时间:", time.strftime("%Y-%m-%d %X", time.localtime())) def start_score_rank_thread(self):
t = threading.Thread(target= self.get_blog_ranks())
t.start() if __name__ == '__main__':
blog = BlogRankMonitor('belle-ls') while 1:
blog.start_score_rank_thread()
time.sleep(10) #10s打印一次 """
运行结果:
积分: 45 排名: 0 时间: 2019-02-12 15:57:22
积分: 45 排名: 0 时间: 2019-02-12 15:57:32
积分: 45 排名: 0 时间: 2019-02-12 15:57:42
积分: 45 排名: 0 时间: 2019-02-12 15:57:53
积分: 45 排名: 0 时间: 2019-02-12 15:58:03
....
"""

最新文章

  1. ASP.NET泛型List的各种用法Skip、Take等
  2. Android学习笔记——xml
  3. IE6及以上版本fixed问题解决方案,页面右下角固定页面,可以最大化、最小化、正规显示
  4. Android--使用VideoView播放视频
  5. Javascript设计模式之创建对象的灵活性
  6. Linux下查看进程打开的文件句柄数和如何修改
  7. poj - 3225 Roadblocks(次短路)
  8. 戏(细)说Executor框架线程池任务执行全过程(下)
  9. Pester: Unit Testing for PowerShell
  10. C# winform 右下角弹窗
  11. [LeetCode 118] - 杨辉三角形(Pascal's Triangle)
  12. Linux 与 BSD 有什么不同?
  13. 22、手把手教你Extjs5(二十二)模块Form的自定义的设计[1]
  14. ES6的Symbol
  15. CSS 圣杯布局升级版---多个固定宽度一个自适应宽度
  16. 【Unity Shaders】Transparency —— 使用渲染队列进行深度排序
  17. 常见SMTP发送失败原因列表
  18. [转]PHP实现页面静态化的超简单方法
  19. 读《流畅的python》第一天
  20. [转]php中 curl模拟post发送json并接收json

热门文章

  1. 深数据 - Deep Data
  2. python3 tkinter 获取输入字符串长度
  3. vb.net 中 listview 中编辑 可以用 ComboBox 选择编辑数据
  4. spring是如何由请求地址找到对应的control的
  5. 软件工程:Java实现WC.exe基本功能
  6. MSSQL 静态值查询
  7. 转:[web]javascript 增加表單的input
  8. T-SQL查询进阶--理解SQL Server中索引的概念,原理
  9. 《C#多线程编程实战》2.5 AutoResetEvent
  10. [agc008f] Black Radius 树形dp