gpt4 book ai didi

python - InstaPy - 按标签点赞

转载 作者:行者123 更新时间:2023-12-05 04:36:41 25 4
gpt4 key购买 nike

我一直在毫无问题地运行 Instapy,取消关注、关注以及观看故事和卷轴等其他功能仍然有效。我遇到的问题是喜欢标签。我得到的错误信息是

Traceback (most recent call last):
File "/Users/em/PycharmProjects/instabot_1/test_1_likes.py", line 61, in <module>
session.like_by_tags(random.sample(like_tag_list, 3),
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/instapy/instapy.py", line 1977, in like_by_tags
inappropriate, user_name, is_video, reason, scope = check_link(
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/instapy/like_util.py", line 618, in check_link
media = post_page[0]["shortcode_media"]
KeyError: 0

我正在通过 Firefox、Pycharm 运行 Instapy,并且我使用的是 Mac。我是 Python 新手。

这是我正在运行的代码...

import random
from instapy import InstaPy
from instapy import smart_run
browser = r'C:\Program Files\Mozilla Firefox\firefox.exe'



# login credentials
insta_username = 'myaccountname'
insta_password = 'mypassword'

dont_likes = ['sex', 'nude', 'naked', 'beef', 'pork', 'seafood',
'egg', 'chicken', 'cheese', 'sausage', 'lobster',
'fisch', 'schwein', 'lamm', 'rind', 'kuh', 'meeresfrüchte',
'schaf', 'ziege', 'hummer', 'yoghurt', 'joghurt', 'dairy',
'meal', 'food', 'eat', 'pancake', 'cake', 'dessert',
'protein', 'essen', 'mahl', 'breakfast', 'lunch',
'dinner', 'turkey', 'truthahn', 'plate', 'bacon',
'sushi', 'burger', 'salmon', 'shrimp', 'steak',
'schnitzel', 'goat', 'oxtail', 'mayo', 'fur', 'leather',
'cream', 'hunt', 'gun', 'shoot', 'slaughter', 'pussy',
'breakfast', 'dinner', 'lunch']

#friends = ['list of friends I do not want to interact with']

like_tag_list = ['vegan', 'veganfoodshare', 'veganfood', 'whatveganseat',
'veganfoodie', 'veganism', 'govegan',
'veganism', 'vegansofig', 'veganfoodshare', 'veganfit',
'veggies']

# prevent posts that contain some plantbased meat from being skipped
ignore_list = ['vegan', 'veggie', 'plantbased']

accounts = ['accounts with similar content']

# get a session!
session = InstaPy(username=insta_username,
password=insta_password,
headless_browser=True)

with smart_run(session):
# settings
session.set_relationship_bounds(enabled=True,
max_followers=15000)

#session.set_dont_include(friends)
session.set_dont_like(dont_likes)
session.set_ignore_if_contains(ignore_list)

session.set_user_interact(amount=2, randomize=True, percentage=60)
session.set_do_follow(enabled=True, percentage=40)
session.set_do_like(enabled=True, percentage=80)

# activity
session.like_by_tags(random.sample(like_tag_list, 3),
amount=random.randint(50, 100), interact=True)

session.unfollow_users(amount=random.randint(75, 150),
InstapyFollowed=(True, "all"), style="FIFO",
unfollow_after=90 * 60 * 60, sleep_delay=501)


session.end()

最佳答案

此问题是由于 Instagram 对其源代码进行了更改。转到 like_util.py(引用您的系统上的 INSTAPY 文件所在的位置)文件中的 619 行,并将该部分代码更改为我在下面给您的代码(如果你找不到这部分代码,那句 media = post_page[0]["shortcode_media "] 搜索文件 like_util.py)

     media = post_page ['items'] [0]
is_video = media ["is_unified_video"]
user_name = media ["user"] ["username"]
image_text = media ["caption"] ["text"]
owner_comments = ""

在那之后,你会遇到另一个错误Could not find followers' for ... Grabbed 0 usernames from....

修复这些错误(至少对我有用,请自己备份和测试):

文件:xpath_compile.py

第 111-117 行:

来自

xpath["get_given_user_followers"] = {"followers_link": "//ul/li[2]/a/span"}

xpath["get_given_user_following"] = {
"all_following": "//a[contains(@href,'following')]/span",
"topCount_elements": "//span[contains(@class,'g47SY')]",
"following_link": '//a[@href="/{}/following/"]',
}

xpath["get_given_user_followers"] = {"followers_link": "//ul/li[2]/a/div/span"}

xpath["get_given_user_following"] = {
"all_following": "//a[contains(@href,'following')]/div/span",
"topCount_elements": "//span[contains(@class,'g47SY')]",
"following_link": "//a[contains(@href,'following')]/@href",
}

行:97-104

来自

xpath["get_following_status"] = {
"follow_button_XP": "//button[text()='Following' or \
text()='Requested' or \
text()='Follow' or \
text()='Follow Back' or \
text()='Unblock' and not(ancestor::*/@role = 'presentation')]",
"follow_span_XP_following": "//button/div/span[contains(@aria-label, 'Following')]",
}

xpath["get_following_status"] = {
"follow_button_XP": "//button/div[text()='Following' or \
text()='Requested' or \
text()='Follow' or \
text()='Follow Back' or \
text()='Unblock' and not(ancestor::*/@role = 'presentation')]",
"follow_span_XP_following": "//button/div/span[contains(@aria-label, 'Following')]",
}

关于python - InstaPy - 按标签点赞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70779087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com