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笔记(叁)继续学习
Oct 24 Python
python快速查找算法应用实例
Sep 26 Python
Python中Collections模块的Counter容器类使用教程
May 31 Python
Python使用QQ邮箱发送Email的方法实例
Feb 09 Python
python读取TXT每行,并存到LIST中的方法
Oct 26 Python
python将视频转换为全字符视频
Apr 26 Python
python实现列表的排序方法分享
Jul 01 Python
python每天定时运行某程序代码
Aug 16 Python
Django实现文件上传下载
Oct 06 Python
matplotlib绘制多个子图(subplot)的方法
Dec 03 Python
python 生成器需注意的小问题
Sep 29 Python
Python sklearn分类决策树方法详解
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
PL-880隐藏功能
2021/03/01 无线电
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
PHP中isset与array_key_exists的区别实例分析
2015/06/02 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
jQuery中add实现同时选择两个id对象
2010/10/22 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
ExtJS4 Grid改变单元格背景颜色及Column render学习
2013/02/06 Javascript
checkbox设置复选框的只读效果不让用户勾选
2013/08/12 Javascript
ExtJs中gridpanel分组后组名排序实例代码
2013/12/02 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
webpack 打包压缩js和css的方法示例
2018/03/20 Javascript
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
python解析html开发库pyquery使用方法
2014/02/07 Python
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
Python闭包实现计数器的方法
2015/05/05 Python
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
python人民币小写转大写辅助工具
2018/06/20 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
美国最大网上鞋店:Zappos
2016/07/25 全球购物
国际领先的学术出版商:Springer
2017/01/11 全球购物
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
python 中的jieba分词库
2021/11/23 Python
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS