BeautifulSoup库应用实例
获取博客园本人的积分排名数据:
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
....
"""
BeautifulSoup库应用实例的更多相关文章
- Python爬虫小白入门(三)BeautifulSoup库
# 一.前言 *** 上一篇演示了如何使用requests模块向网站发送http请求,获取到网页的HTML数据.这篇来演示如何使用BeautifulSoup模块来从HTML文本中提取我们想要的数据. ...
- python爬虫学习之使用BeautifulSoup库爬取开奖网站信息-模块化
实例需求:运用python语言爬取http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html这个开奖网站所有的信息,并且保存为txt文件和excel文件. 实 ...
- 使用SharePoint Designer定制开发专家库系统实例!
将近大半年都没有更新博客了,趁这段时间不忙,后续会继续分享一些技术和实际应用.对于Sharepoint的定制开发有很多种方式,对于一般的应用系统,可以使用Sharepoint本身自带的功能,如列表作为 ...
- BeautifulSoup库children(),descendants()方法的使用
BeautifulSoup库children(),descendants()方法的使用 示例网站:http://www.pythonscraping.com/pages/page3.html 网站内容 ...
- 网络爬虫BeautifulSoup库的使用
使用BeautifulSoup库提取HTML页面信息 #!/usr/bin/python3 import requests from bs4 import BeautifulSoup url='htt ...
- BeautifulSoup库的使用
1.简介 BeautifulSoup库也是一个HTML/XML的解析器,其使用起来很简单,但是其实解析网站用xpath和re已经足矣,这个库其实很少用到.因为其占用内存资源还是比xpath更高. '' ...
- python下载安装BeautifulSoup库
python下载安装BeautifulSoup库 1.下载https://www.crummy.com/software/BeautifulSoup/bs4/download/4.5/ 2.解压到解压 ...
- 基于BeautifulSoup库的HTML内容的查找
一.BeautifulSoup库提供了一个检索的参数: <>.find_all(name,attrs,recursive,string,**kwargs),它返回一个列表类型,存储查找的结 ...
- BeautifulSoup库
'''灵活又方便的网页解析库,处理高效,支持多种解析器.利用它不用编写正则表达式即可方便的实现网页信息的提取.''' BeautifulSoup库包含的一些解析库: 解析库 使用方法 优势 劣势 py ...
随机推荐
- Oracle——控制事务
一.回滚到保留点 使用 SAVEPOINT 语句在当前事务中创建保存点. 使用 ROLLBACK TO SAVEPOINT 语句回滚到创建的保存点. 二.提交或回滚前的数据状态 改变前的数据状态是可以 ...
- Xcode弱网测试工具
Network Link Conditioner Network Link Conditioner工具是Mac下提供的一个弱网测试工具. 安装Network Link Conditioner Xcod ...
- springboot-条件化注解
在项目中,有时会遇到我们的Configuration.Bean.Service等等的bean组件需要依条件按需加载的情况.那么Spring Boot怎么做的呢?它为此定义了许多有趣的条件,当我们将它们 ...
- 第07章-Spring MVC 的高级技术
Spring MVC 的高级技术 1. Spring MVC配置的替代方案 1.1 自定义DispatcherServlet配置 AbstractAnnotationConfigDispatcherS ...
- Python htmlTestRunner生成测试报告Demo
#该代码段是ReadTxt_demo.py 的代码,用户读取txt 文件中的用户信息. #ReadTxt_demo.py def readTxt(filePath): fo = open(filePa ...
- java多线程的操作
上篇博客简单了介绍了Java的多线程的概念,与进程的区别,两种创建方式,状态及获取线程名称等内容.这篇文章接着介绍Java的多线程.主要从一下几方面介绍. 1 线程类的常用方法 1.1 start() ...
- Go语言最佳实践——通道和并发
何时关闭通道: 第一,只有在后面要检查通道是否关闭的时候才需要显式地关闭通道: 第二,应该由发送端的goroutine关闭通道,而不是由接收端的goroutine来完成: 第三,如果通道并不需要检查是 ...
- angular Docheck
import { Component, OnInit, Input, OnChanges, SimpleChanges, DoCheck } from '@angular/core'; @Compon ...
- Selenium辅助工具
下载Firefox39.0版本浏览器,安装firebug和FirePath.最新版的Firefox在扩展组件中无法找到firebug,可以使用旧的版本的Firefox浏览器. FirePath插件的使 ...
- IO模型《一》IO模型介绍
IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步.异步.阻塞.非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞 ...