如何限制Watir采集的按钮数量?Twitter关注按钮仅采集30个
限制Twitter关注按钮点击数量为30个的解决方案
嘿,这需求很实用——控制操作数量不仅能降低被反爬机制盯上的风险,也更符合真实用户的行为节奏!给你调整下代码,轻松实现只点击前30个关注按钮:
修改后的完整代码如下:
# 采集“关注”按钮,仅选取前30个 browser.spans(:class => ['user-actions-follow-button js-follow-btn follow-button']).take(30).each do |b| # 逐个点击按钮 b.click # 生成4到7秒的随机休眠时长 r = Random.rand(4...7) # 休眠避免被识别为机器人 sleep(r) end
核心改动说明:
- 在遍历操作前添加
take(30):这是Ruby集合类的原生方法,会直接从按钮集合中截取前30个元素,之后仅对这部分元素执行点击逻辑。 - 容错性友好:如果当前页面的关注按钮总数不足30,
take(30)会自动取完所有现有按钮,不会触发索引越界之类的错误。
另外夸一句:你设置随机休眠的思路非常棒!要是想进一步降低风险,可以偶尔插入更长的休眠(比如10-15秒),模拟真实用户中途停顿的行为~
内容的提问来源于stack exchange,提问作者Seio. E.
相关产品推荐
相关产品推荐

