我正在写一个用Selenium在Instagram上自动评论照片的机器人。我的机器人点击照片,写评论,点击下一张照片,写评论,点击下一张照片,写评论等。问题是,我的机器人洗牌我的评论列表中的评论之一,但它总是使用相同的洗牌评论。。。如何解决?如何提高我的功能,因为每次点击或每次发布后,所选的评论都是不同的?你知道吗
def randomComments(self):
messages = [
'Nice cat',
'What a lovely cat',
'Wow, great picture',
'Amaizing, I am in love <3',
'Beautiful',
'I have same cat :)'
]
r = random.randint(0, len(messages))
return messages[r]
您可以创建一个迭代器作为类成员。开始时在
None
处初始化,如果None
,则在整个列表上使用iter
。你知道吗调用时,返回
next
元素。在StopIteration
异常(到达列表末尾时为正常情况)中,创建另一个随机无序的列表,并将其包装在新的iterable中:一个输出:
每次都可以返回一个新语句
但这仍有机会重复台词。解决方案可以是使用
random.shuffle
,但是如果您想让对象“记住”已经使用了哪些行,那么您必须在__init__
阶段这样做:不过,有一个小警告,如果您已经完成了一次列表的运行,那么这将失败,如果您需要无限地继续这样做,请考虑以其他方式添加该功能,可能是使用
itertools
相关问题 更多 >
编程相关推荐