获取在Instagram上使用Python发表评论或点赞的用户列表
问题描述
我在Python中发现了Instaloader
lib,它允许擦除Instagram配置文件。这很好,但是我找不到在Instagram上评论或点赞帖子的用户列表。
我翻遍了所有的文档,但我找不到答案。这是文档: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()
生成一个生成器来迭代喜欢帖子的帐户的配置文件。
get_comments()
会生成一个命名元组,其中owner
是发帖者的帐户。因此,代码的有效实现如下所示:
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)
相关文章