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的高级Git库 Gittle
Sep 22 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
May 21 Python
Python、 Pycharm、Django安装详细教程(图文)
Apr 12 Python
python实现微信防撤回神器
Apr 29 Python
python导入坐标点的具体操作
May 10 Python
解决Python内层for循环如何break出外层的循环的问题
Jun 24 Python
浅谈Django中view对数据库的调用方法
Jul 18 Python
python找出因数与质因数的方法
Jul 25 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
Aug 27 Python
python实现扫雷小游戏
Apr 24 Python
python开发前景如何
Jun 11 Python
使用豆瓣源来安装python中的第三方库方法
Jan 26 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
微信 开发生成带参数的二维码的实例
2016/11/23 PHP
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
jQuery实现简洁的轮播图效果实例
2016/09/07 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
javascript中的面向对象
2017/03/30 Javascript
vue-cli实现多页面多路由的示例代码
2018/01/30 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
记录一次完整的react hooks实践
2019/03/11 Javascript
node-red File读取好保存实例讲解
2019/09/11 Javascript
vue element自定义表单验证请求后端接口验证
2019/12/11 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
python实现web方式logview的方法
2015/08/10 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
Python属性和内建属性实例解析
2020/01/14 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
python如何更新包
2020/06/11 Python
python用什么编辑器进行项目开发
2020/06/17 Python
html5中如何将图片的绝对路径转换成文件对象
2018/01/11 HTML / CSS
印尼购物网站:iLOTTE
2019/10/16 全球购物
PHP中如何创建和修改数组
2012/05/02 面试题
几道Web/Ajax的面试题
2016/11/05 面试题
实习老师个人总结的自我评价
2013/09/28 职场文书
初任培训自我鉴定
2013/10/07 职场文书
实习生评语
2014/04/26 职场文书
小学先进集体事迹材料
2014/05/31 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
加强作风建设工作总结
2014/10/23 职场文书
大四学生个人总结
2015/02/15 职场文书
夏洛特的网观后感
2015/06/15 职场文书
决心书格式及范文
2019/06/24 职场文书
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript