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 18 Python
Python中列表(list)操作方法汇总
Aug 18 Python
Python的Django中django-userena组件的简单使用教程
May 30 Python
python写一个md5解密器示例
Feb 23 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
Dec 07 Python
pthon贪吃蛇游戏详细代码
Jan 27 Python
python操作excel让工作自动化
Aug 09 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
Dec 18 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
通过实例简单了解python yield使用方法
Aug 06 Python
python爬取2021猫眼票房字体加密实例
Feb 19 Python
Python实现DBSCAN聚类算法并样例测试
Jun 22 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中删除变量时unset()和null的区别分析
2011/01/27 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
javascript arguments 传递给函数的隐含参数
2009/08/21 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
Bootstrap表单控件使用方法详解
2017/01/11 Javascript
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
Python是编译运行的验证方法
2015/01/30 Python
Python常用随机数与随机字符串方法实例
2015/04/09 Python
python获取本地计算机名字的方法
2015/04/29 Python
python opencv之SIFT算法示例
2018/02/24 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
python经典趣味24点游戏程序设计
2019/07/26 Python
python打包成so文件过程解析
2019/09/28 Python
Django视图扩展类知识点详解
2019/10/25 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
2021/01/29 Python
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
Linux内核产生并发的原因
2016/11/08 面试题
酒店总经理职务说明书
2014/02/26 职场文书
销售人员职业生涯规划范文
2014/03/01 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
毕业论文致谢怎么写
2015/05/14 职场文书
经典人生语录分享:不畏将来,不念过去,笑对当下
2019/12/12 职场文书
MongoDB支持的数据类型
2022/04/11 MongoDB