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 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Sep 06 Python
简介Python中用于处理字符串的center()方法
May 18 Python
Python编程实现粒子群算法(PSO)详解
Nov 13 Python
详解python中init方法和随机数方法
Mar 13 Python
Python 中使用 PyMySQL模块操作数据库的方法
Nov 10 Python
Python中内建模块collections如何使用
May 27 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
Oct 27 Python
Python join()函数原理及使用方法
Nov 14 Python
python全栈开发语法总结
Nov 22 Python
java关于string最常出现的面试题整理
Jan 18 Python
Django程序的优化技巧
Apr 29 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
VFP与其他应用程序的集成
2006/10/09 PHP
用Zend Encode编写开发PHP程序
2006/10/09 PHP
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
PHP 魔术函数使用说明
2010/05/14 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
Jquery日历插件制作简单日历
2015/10/28 Javascript
JavaScript观察者模式(经典)
2015/12/09 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
jQuery页面加载初始化的3种方法(推荐)
2016/06/02 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
原生JS实现不断变化的标签
2017/05/22 Javascript
浅谈Vuex的状态管理(全家桶)
2017/11/04 Javascript
详解如何实现一个简单的 vuex
2018/02/10 Javascript
Vue中this.$router.push参数获取方法
2018/02/27 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
Python实现的桶排序算法示例
2017/11/29 Python
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
顶级宝石首饰网络零售商:Angara
2016/10/25 全球购物
优质飞蝇钓和渔具:RiverBum
2020/05/10 全球购物
2014世界杯球队球队口号
2014/06/05 职场文书
战略合作意向书
2014/07/29 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
海底两万里读书笔记
2015/06/26 职场文书
python实现简单的井字棋
2021/05/26 Python