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中除法使用的注意事项
Aug 21 Python
线程和进程的区别及Python代码实例
Feb 04 Python
python对指定目录下文件进行批量重命名的方法
Apr 18 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
Apr 02 Python
python 文件转成16进制数组的实例
Jul 09 Python
解决Python获取字典dict中不存在的值时出错问题
Oct 17 Python
对python读写文件去重、RE、set的使用详解
Dec 11 Python
Python Pandas对缺失值的处理方法
Sep 27 Python
tensorboard实现同时显示训练曲线和测试曲线
Jan 21 Python
Python制作数据预测集成工具(值得收藏)
Aug 21 Python
Python扫描端口的实现
Jan 25 Python
基于PyQt5制作一个群发邮件工具
Apr 08 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
Content-type 的说明
2006/10/09 PHP
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
PHP中的integer类型使用分析
2010/07/27 PHP
深入了解PHP中的Array数组和foreach
2016/11/06 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
Javascript中的delete介绍
2012/09/02 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
Python实现发送email的几种常用方法
2014/08/18 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
python 实现单通道转3通道
2019/12/03 Python
Django分组聚合查询实例分享
2020/04/29 Python
python属于跨平台语言码
2020/06/09 Python
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
自我鉴定怎么写
2013/12/05 职场文书
单位实习工作证明怎么写
2014/11/02 职场文书
转正申请报告格式
2015/05/15 职场文书
培养联系人考察意见
2015/06/01 职场文书
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js