Python Instapy“;无效的Like元素&引用;
我在跑步时收到以下消息:Python Instapy“;无效的Like元素&引用;,python,instapy,Python,Instapy,我在跑步时收到以下消息: instapy: "Invalid Like Element!" 我的代码是 from instapy import InstaPy insta_username = 'username' insta_password = 'password' session = InstaPy(username=insta_username, password=insta_password) session.login() session.set_del
instapy: "Invalid Like Element!"
我的代码是
from instapy import InstaPy
insta_username = 'username'
insta_password = 'password'
session = InstaPy(username=insta_username, password=insta_password)
session.login()
session.set_delimit_commenting(enabled=True, max_comments=50000, min_comments=0)
session.set_do_comment(enabled=True, percentage=50)
session.set_comments(['comment1', 'comment2'])
session.like_by_tags(['tag1','tag2'], amount=40)
session.end()
我认为问题出在InstaPy的xpath_compile.py中。此时,我的xpath_编译设置如下:
`xpath["like_image"] = {
"like": "/html/body/div[1]/section/main/div/div/article/div[3]/section[1]/span[1]/button[*[local-name()='svg']/@aria-label='Like']",
"unlike": "/html/body/div[1]/section/main/div/div/article/div[3]/section[1]/span[1]/button[*[local-name()='svg']/@aria-label='Unlike']",
}`
有什么想法吗?in/usr/local/lib/python3.6/site-packages/instapy/xpath\u compile.py 将xpath[“like_image”]部分替换为:
xpath["like_image"] = {
"like": "//section/span/button/div[*[local-name()='svg']/@aria-label='Like']",
"unlike": "//section/span/button/div[*[local-name()='svg']/@aria-label='Unlike']",
}
看起来Instagram已经修改了html 在xpath_compile.py文件中,替换xpath[“like_image”] 删除:
xpath["like_image"] = {
"like": "//section/span/button[*[local-name()='svg']/@aria-label='Like']",
"unlike": "//section/span/button[*[local-name()='svg']/@aria-label='Unlike']",
}
替换为:
xpath["like_image"] = {
"like": "//section/span/button/div[*[local-name()='svg']/@aria-label='Like']",
"unlike": "//section/span/button/div[*[local-name()='svg']/@aria-label='Unlike']",
}
Instagram于2020年7月28日再次更新了HTML。正确的X路径应为:
xpath["like_image"] = {
"like": "//section/span/button/div/span[*[local-name()='svg']/@aria-label='Like']",
"unlike": "//section/span/button/div/span[*[local-name()='svg']/@aria-label='Unlike']",
}
你能包含一个更大的代码片段吗?现在还不清楚是什么原因触发了你的errorSure@Piratenijas。我现在试图解释得更清楚些。Thanksit与这个问题有关:但没有一个答案对我有用。我想Instagram又改变了HTML。//按钮/div/*[name()='svg'][@aria label='Like']对我有用。非常感谢。仍然有效。非常感谢。