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实现类似ftp传输文件的网络程序示例
Apr 08 Python
Python统计文件中去重后uuid个数的方法
Jul 30 Python
Python在线运行代码助手
Jul 15 Python
Python常见字典内建函数用法示例
May 14 Python
机器学习之KNN算法原理及Python实现方法详解
Jul 09 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
Python基于opencv实现的简单画板功能示例
Mar 04 Python
python实现飞机大战游戏(pygame版)
Oct 26 Python
如何教少儿学习Python编程
Jul 10 Python
pandas apply多线程实现代码
Aug 17 Python
python使用ctypes库调用DLL动态链接库
Oct 22 Python
Python中np.random.randint()参数详解及用法实例
Sep 23 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源代码安装常见错误与解决办法分享
2013/05/28 PHP
判断php数组是否为索引数组的实现方法
2013/06/13 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
2013/04/17 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
2013/12/27 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
JS实现队列与堆栈的方法
2016/04/21 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
python网络编程学习笔记(四):域名系统
2014/06/09 Python
python通过smpt发送邮件的方法
2015/04/30 Python
python使用pil生成图片验证码的方法
2015/05/08 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
python监控键盘输入实例代码
2018/02/09 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
python在文本开头插入一行的实例
2018/05/02 Python
python实现泊松图像融合
2018/07/26 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
会计岗位描述
2014/02/22 职场文书
婚前协议书范本
2014/04/15 职场文书
售后客服个人自我评价
2014/09/14 职场文书
大学生军训自我鉴定范文
2014/09/18 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
2014年个人委托书范本
2014/10/13 职场文书
大学毕业生自我评价
2015/03/02 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery
MySQL添加索引特点及优化问题
2022/07/23 MySQL