【发布时间】:2018-11-22 03:36:21
【问题描述】:
我编写了一个 Python 脚本来自动化使用 selenium 添加 cmets 的过程,每条评论都会一个接一个地自动发布,中间有一秒钟。但是,一段时间后,我在一篇帖子上自动化的那些 cmets 都不存在了,我的评论只有一条,是我手动输入的。 9GAG 是如何做到的?有什么办法可以绕过吗?
【问题讨论】:
标签: python selenium automation automated-tests
我编写了一个 Python 脚本来自动化使用 selenium 添加 cmets 的过程,每条评论都会一个接一个地自动发布,中间有一秒钟。但是,一段时间后,我在一篇帖子上自动化的那些 cmets 都不存在了,我的评论只有一条,是我手动输入的。 9GAG 是如何做到的?有什么办法可以绕过吗?
【问题讨论】:
标签: python selenium automation automated-tests
如果您参考 9gag 常见问题解答 (https://about.9gag.com/faq/#six-two),您可以看到以下内容:
评论失败:我再也看不到我的 cmets。为什么?
这可能是由于以下两个原因之一:
- 自动垃圾邮件过滤器将您的 cmets 识别为垃圾邮件或
- 社区/其他用户投票和/或举报了您的 cmets
多次失败:我无法上传/无法再发表评论。为什么?
您的帐户很可能被暂停或禁止,因为您有 违反了我们的 9GAG 规则。
至于9gag规则(https://about.9gag.com/rules):
没有垃圾邮件、操纵和多个帐户滥用
每个人都讨厌垃圾邮件。不要发布大量没有针对性的、不需要的 或重复的内容和 cmets 以增加观看次数。 创建多个具有重叠用途的帐户或为了逃避 不允许临时或永久禁止单独的帐户。
...所以,我会说您是通过您的 cmets 之间的短时间或它们的内容被检测到的。为了尝试这种可能性,我会制作一个脚本,它会在 cmets 之间随机休眠一段时间,并生成随机长度的随机 cmets:
import random
import time
import string
while True:
random_comment = ' '.join([random.choice(string.printable) for i in range(random.randint(10,100))])
random_time = random.randint(1, 10)
time.sleep(random_time)
upload_comment(random_comment)
【讨论】: