使用SET忽略循环脚本中的预登录用户

我试图使用一组,以防止在以下代码中重新打印用户。我设法让python接受他的代码而没有产生任何错误,但是如果我让代码在10秒的循环中运行,它将继续打印应该已经登录的用户。这是我第一次尝试使用集合,并且我是python的新手(到目前为止,我都是根据我所看到的示例进行构建并将其反向工程的。)


以下是我正在使用的代码示例


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>')

千万里不及你
浏览 167回答 2
2回答

蓝山帝景

这个:userset.update(userid_delimiter_results)可能应该是这样的:userset.add(userid_delimiter_results)为了证明这一点,请尝试userset在每次调用后打印的内容。

慕雪6442864

对于其他人的利益,可能过这个岗位绊倒,我的代码没有工作的原因是,首先使用.update的,印刷.update移动之后,我定义userset了前for环.update将打印u'1', u'0', u'3', u'5'此进展到'1', u'0', u'3', u'2', u'5', u'7'这竟然是构成我正在测试的3个用户ID的所有单个数字。.add根据需要添加了用户ID。但是,这里的关键是将用户集定义移出for循环,否则每次都会创建一个新集,并且从不匹配任何内容。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python