获取在 Python 上评论或喜欢 post 的用户列表

Get list of users who commented or liked post on instagram with Python

我在 Python 中发现了 Instaloader 库,它允许 抓取 Instagram 个人资料。它非常好,但我找不到一种方法来获取在 instagram 上评论或喜欢 post 的用户列表。

我查看了所有文档,但找不到答案。这是文档:https://instaloader.github.io/as-module.html

这是我的代码:

import instaloader

L = instaloader.Instaloader() #nalazenje stvari sa instagrama

profile = instaloader.Profile.from_username(L.context, 'jlo') #daj mi pratioce od datog user-a
print(profile.get_posts())

for post in profile.get_posts():

    post_likes = post.get_likes()
    post_comments = post.get_comments()

    print(post_likes)  # post_likes object
    print(post_comments) # # post_comments object

    # post_likes.name  post_likes.username  post_likes.user    DOES NOT WORK
    # post_comments.name  post_comments.username  post_comments.user    DOES NOT WORK

get_likes() 生成一个生成器来迭代喜欢 post 的帐户的配置文件。

get_comments() 生成一个命名元组,其中 owner 是 post 人的帐户。所以你的代码的有效实现看起来像这样:

import instaloader

L = instaloader.Instaloader() #nalazenje stvari sa instagrama

profile = instaloader.Profile.from_username(L.context, 'jlo') #daj mi pratioce od datog user-a
print(profile.get_posts())

for post in profile.get_posts():

    post_likes = post.get_likes()
    post_comments = post.get_comments()

    print(post_likes)  # post_likes object
    print(post_comments) # # post_comments object

    # Iterate over all likes of the post. A Profile instance of each likee is yielded.
    for likee in post_likes:
        print(likee.username)

    # Iterate over all comments of the post.
    # Each comment is represented by a PostComment namedtuple with fields 
    # text (string), created_at (datetime), id (int), owner (Profile) 
    # and answers (~typing.Iterator[PostCommentAnswer]) if available.
    for comment in post_comments:
        print(comment.owner.username)