
InstaPy 如何用 set_delimit_liking 按帖子已有点赞数限制点赞【免费下载链接】InstaPy Instagram Bot - Tool for automated Instagram interactions项目地址: https://gitcode.com/GitHub_Trending/in/InstaPy如果你的 InstaPy 脚本按标签或互动流程给帖子点赞但你只想点赞已有点赞数落在某个区间内的帖子——比如跳过已经几百赞的大热帖也跳过几乎没人点过赞的冷帖——InstaPy 提供了set_delimit_liking这个 session 设置来完成这件事。配置之后InstaPy 在给帖子点赞前会读取该帖子已有的点赞数超出上限或低于下限的帖子直接不点赞。这个设置默认是关闭的需要在 quickstart 脚本中显式启用。前提条件已按 docs/home.md 安装 InstaPypip install instapy并准备好 quickstart 脚本脚本中已通过InstaPy(username..., password...)传入账号信息你要使用的是会触发点赞动作的行为如like_by_tags、interact_by_...等。docs/settings.md 在 Liking 一节说明使用like_by_...行为时帖子默认会被点赞而set_do_like这类点赞设置主要用于interact_by_...行为——set_delimit_liking是对是否给某个帖子点赞这一动作本身加一道已有赞数过滤。配置 set_delimit_likingset_delimit_liking在 instapy/instapy.py 中的签名为def set_delimit_liking( self, enabled: bool False, max_likes: int None, min_likes: int None ):三个参数enabledTrue启用检查False关闭。按 docs/settings.md 的说明可以any time随时切换max_likes已有赞数上限。帖子已有点赞数多于该值时不点赞min_likes已有赞数下限。帖子已有点赞数少于该值时不点赞。max 与 min 可以两个都设也可以只设一个——不需要的边界传None文档原话just put the value ofNoneto the one you dont want to check for# 双向限制只在已有赞数 20 ~ 1005 之间点赞 session.set_delimit_liking(enabledTrue, max_likes1005, min_likes20)# 只限上限已有赞数超过 242 就不点不限下限 session.set_delimit_liking(enabledTrue, max_likes242, min_likesNone)文档给出的示例配置与行为session.set_delimit_liking(enabledTrue, max_likes500, min_likes7)此时如果一个帖子已有赞数多于500InstaPy 不会点它如果少于7同样不会点。边界值本身如何处理可以从源码比较逻辑确认verify_liking中使用的是严格大于和严格小于likes_count maximum、likes_count minimum等于max_likes或min_likes的帖子不会被跳过。检查在什么时候发生如何确认生效点赞动作执行前InstaPy 会调用 verify_likingdef verify_liking(browser, maximum, minimum, logger): Get the amount of existing existing likes and compare it against maximum minimum values defined by user post_page get_additional_data(browser) likes_count post_page[items][0][like_count] if not likes_count: likes_count 0 if maximum is not None and likes_count maximum: logger.info( Not liked this post! ~more likes exist off maximum limit at {}.format(likes_count) ) return False elif minimum is not None and likes_count minimum: logger.info( Not liked this post! ~less likes exist off minimum limit at {}.format(likes_count) ) return False return True逻辑要点从帖子页面数据读取like_count取不到时按0处理此时若设置了min_likes且大于 0该帖子会被跳过只检查非None的那一侧max_likesNone就不做上限判断min_likesNone就不做下限判断检查在源码的多个点赞路径中被调用见 instapy/instapy.py 等处的self.delimit_liking分支enabledFalse时整个检查不执行。验证方式运行脚本后观察 InstaPy 的日志输出。当某个帖子被这个过滤规则拦下时会打出如下格式的日志以下数值为示例不是固定预期Not liked this post! ~more likes exist off maximum limit at 800Not liked this post! ~less likes exist off minimum limit at 3对应地一个赞数落在区间内的帖子不会打印这两条日志点赞流程继续。没有出现跳过日志的帖子被点没点可结合脚本本身的点赞计数与浏览器中帖子状态确认。与点赞动作组合使用在 quickstart 中set_delimit_liking和具体的行为动作放在同一个 session 流程里。以 docs/actions.md 中Like by Tags的调用为例# 只对已有赞数 7 ~ 500 的帖子点赞 session.set_delimit_liking(enabledTrue, max_likes500, min_likes7) session.like_by_tags([natgeo, world], amount10)执行python quickstart.py后脚本按like_by_tags拉取帖子逐个处理每到一个会被点赞的帖子先经过verify_liking的赞数检查再决定是否执行点赞。限制与说明该设置只影响是否点赞这一判断文档表述为 it will not like that postenabled可随时改为False关闭关闭后恢复不检查已有赞数max_likes/min_likes传None即取消对应方向的检查两者都传None时enabledTrue实际上不做任何过滤若取不到帖子点赞数like_count按 0 处理见上文verify_liking源码这意味着设置了min_likes的帖子在页面数据缺失时会被跳过。【免费下载链接】InstaPy Instagram Bot - Tool for automated Instagram interactions项目地址: https://gitcode.com/GitHub_Trending/in/InstaPy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考