• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python实现周期性抓取网页内容的方法

python 搞代码 4年前 (2022-01-09) 22次浏览 已收录 0个评论

本文实例讲述了Python实现周期性抓取网页内容的方法。分享给大家供大家参考,具体如下:

1.使用sched模块可以周期性地执行指定函数

2.在周期性执行指定函数中抓取指定网页,并解析出想要的网页内容,代码中是六维论坛的在线人数

论坛在线人数统计代码:

#coding=utf-8import 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__ == "__m<i style="color:transparent">本文来源gaodai$ma#com搞$$代**码网$</i>ain__":  mymain()

希望本文所述对大家Python程序设计有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python实现周期性抓取网页内容的方法
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址