Python实现周期性抓取网页内容的方法


Posted in Python onNovember 04, 2015

本文实例讲述了Python实现周期性抓取网页内容的方法。分享给大家供大家参考,具体如下:

1.使用sched模块可以周期性地执行指定函数

2.在周期性执行指定函数中抓取指定网页,并解析出想要的网页内容,代码中是六维论坛的在线人数

论坛在线人数统计代码:

#coding=utf-8
import time,sched,os,urllib2,re,string
#初始化sched模块的scheduler类
#第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。
s = sched.scheduler(time.time,time.sleep)
#被周期性调度触发的函数
def event_func():
  req = urllib2.Request('http://bt.neu6.edu.cn/')
  response = urllib2.urlopen(req)
  rawdata = response.read()
  response.close()
  usernump = re.compile(r'总计 <em>.*?</em> 人在线')
  usernummatch = usernump.findall(rawdata)
  if usernummatch:
    currentnum=usernummatch[0]
    currentnum=currentnum[string.index(currentnum,'>')+1:string.rindex(currentnum,'<')]
    print "Current Time:",time.strftime('%Y,%m,%d,%H,%M',time.localtime(time.time())),'User num:',currentnum
    # 保存结果,供图表工具amcharts使用
    result=open('liuvUserNUm','a')
    result.write('{year: new Date('+time.strftime('%Y,%m,%d,%H,%M',time.localtime(time.time()))+'),value:'+currentnum+'},\n')
    result.close()
#enter四个参数分别为:间隔事件、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数,给他的参数(注意:一定要以tuple给如,如果只有一个参数就(xx,))
def perform(inc):
  s.enter(inc,0,perform,(inc,))
  event_func()
def mymain(inc=900):
  s.enter(0,0,perform,(inc,))
  s.run()
if __name__ == "__main__":
  mymain()

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python同时向控制台和文件输出日志logging的方法
May 26 Python
用Python登录好友QQ空间点赞的示例代码
Nov 04 Python
Python给你的头像加上圣诞帽
Jan 04 Python
Python使用base64模块进行二进制数据编码详解
Jan 11 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
Python面向对象之类的内置attr属性示例
Dec 14 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
Jan 29 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
Aug 12 Python
Tensorflow实现部分参数梯度更新操作
Jan 23 Python
Python3标准库之dbm UNIX键-值数据库问题
Mar 24 Python
python dict乱码如何解决
Jun 07 Python
python 爬取百度文库并下载(免费文章限定)
Dec 04 Python
Python压缩解压缩zip文件及破解zip文件密码的方法
Nov 04 #Python
python通过文件头判断文件类型
Oct 30 #Python
python制作花瓣网美女图片爬虫
Oct 28 #Python
python制作最美应用的爬虫
Oct 28 #Python
python使用wmi模块获取windows下的系统信息 监控系统
Oct 27 #Python
详解JavaScript编程中的window与window.screen对象
Oct 26 #Python
深入讲解Python中的迭代器和生成器
Oct 26 #Python
You might like
PHP中的超全局变量
2006/10/09 PHP
php截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
Laravel5中防止XSS跨站攻击的方法
2016/10/10 PHP
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
JavaScript实现HTML5游戏断线自动重连的方法
2017/09/18 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
浅谈react 同构之样式直出
2017/11/07 Javascript
Vue-cli项目获取本地json文件数据的实例
2018/03/07 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
Python Dataframe 指定多列去重、求差集的方法
2018/07/10 Python
Python3中关于cookie的创建与保存
2018/10/21 Python
python将txt文件读入为np.array的方法
2018/10/30 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
基于Python的OCR实现示例
2020/04/03 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
数控技术应届生求职信
2013/11/13 职场文书
计算机学生的自我评价分享
2014/02/18 职场文书
餐饮业员工工作决心书
2014/03/11 职场文书
医德医魂心得体会
2014/09/11 职场文书
搞笑婚前保证书
2015/02/28 职场文书
交通处罚决定书
2015/06/24 职场文书
赡养老人协议书范本
2015/08/06 职场文书
导游词之昭君岛
2020/01/17 职场文书
如何用PHP websocket实现网页实时聊天
2021/05/26 PHP
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL
nginx共享内存的机制详解
2022/03/21 Servers
ubuntu端向日葵键盘输入卡顿问题及解决
2022/12/24 Servers