1

我正在尝试为 instapy 编写代码,以通过标签对帖子进行喜欢和评论。它显示标签页面,但不与帖子交互。我的代码:

session = InstaPy(username, password)                               
session.login()                                                                          
session.set_relationship_bounds(enabled=True,max_followers=200)                          
session.set_do_follow(True,percentage=100)                                               
session.like_by_tags(["indiemusic", "heartbreakanniversary"], amount=5,interact=True)      
session.set_dont_like(["naked", "nsfw"])                                                 
session.set_do_follow(True, percentage=50)                                               
session.set_do_comment(True, percentage=50)                                              
session.set_comments(["Nice!", "S`weet!", "Beautiful :heart_eyes:"])                      
session.set_user_interact(amount=1,randomize=True,percentage=100)                        
session.end()                                                                                         
4

2 回答 2

6

like_util.py 文件中有一个单词错误。它已作为错误提交,并已提出合并请求。因此,在将来的某个时候,您只需重新安装 InstaPy,它就会得到修复。

同时,如果您仍想使用该软件包,您有多种选择:

  1. 在您的系统上找到 like_util.py 文件,并将第 908 行的最后一个“span”更改为“div”。请参见此处。您可以通过在 python shell 中运行以下命令来找到可能安装 instapy 的目录。

    导入系统;打印(系统路径)

这将打印路径列表。在我的系统上,instapy 位于其中一个路径中名为 site-packages/instapy 的目录中。

  1. 使用虚拟环境并在其中安装 instapy,然后在其中修改文件 like_util.py 文件。相关说明可在instapy.org 文档站点的附加信息选项卡中找到。
于 2021-04-08T02:44:16.610 回答
0

这就是我所做的。首先,下载最新版本的 instapy 或升级它。 https://github.com/timgrossmann/InstaPy

其次,检查文件中的所有最近更改是否与您的本地 instapy 匹配。

https://github.com/timgrossmann/InstaPy/pull/6195/files/898f80175a5aaf8298dafdf82b5a70a34d443bf1?file-filters%5B%5D=#R97

最后不是列表更改跨度---->这两个中的div

  1. "//a[@href='/p/" + post_href.split("/")[-2] + "/']/child::div"

    • "/']/child::div[@class='u7YqG']/child::div"

在您本地的 instapy 包中的第 900 行中的 like_util.py 中进行这两项更改。

完成此操作后,它在 29/08/2021 日期完美运行

这是一个乏味的过程,但值得。

于 2021-08-28T23:20:25.613 回答