阻止循环脚本返回重复的条目

我有一段代码,当前随着越来越多的用户在一整天与之交互,从XML文件(从网站获得)中为每个用户打印出数据。目前,我的代码循环每5分钟下载一次此数据。


每次运行代码时,它都会生成一个用户及其统计信息列表,前5分钟将打印用户:a,b,c


后5分钟它将打印用户:a,b,c,d,e


第三5分钟它会打印用户:a,b,c,d,e,f,g


我需要什么代码才能执行以打印前5分钟:a,b,c第二个5分钟:d,e第三个5分钟:f,g


一些如何识别某些用户已经被使用的方法。每个用户确实都有一个唯一的用户ID,我想可以将其匹配吗?


附上我的代码示例,以防万一。


import mechanize

import urllib

import json

import re

import random

import datetime

from sched import scheduler

from time import time, sleep


######Code to loop the script and set up scheduling time


s = scheduler(time, sleep)

random.seed()


def run_periodically(start, end, interval, func):

    event_time = start

    while event_time < end:

        s.enterabs(event_time, 0, func, ())

        event_time += interval + random.randrange(-5, 45)

    s.run()



###### Code to get the data required from the URL desired

def getData():  

    post_url = "URL OF INTEREST"

    browser = mechanize.Browser()

    browser.set_handle_robots(False)

    browser.addheaders = [('User-agent', 'Firefox')]


######These are the parameters you've got from checking with the aforementioned tools

    parameters = {'page' : '1',

              'rp' : '250',

              'sortname' : 'roi',

              'sortorder' : 'desc'

             }

#####Encode the parameters

    data = urllib.urlencode(parameters)

    trans_array = browser.open(post_url,data).read().decode('UTF-8')


    xmlload1 = json.loads(trans_array)

    pattern1 = re.compile('>&nbsp;&nbsp;(.*)<')

    pattern2 = re.compile('/control/profile/view/(.*)\' title=')

    pattern3 = re.compile('<span style=\'font-size:12px;\'>(.*)<\/span>')


请发表评论,我已经编码了11天,所以请谅解我正在使用的代码中的任何主要错误,尽管到目前为止,它仍然可以正常工作。


翻翻过去那场雪
浏览 146回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python