首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Instapy“无效的Like元素!”

Instapy“无效的Like元素!”
EN

Stack Overflow用户
提问于 2020-07-16 21:26:57
回答 3查看 966关注 0票数 4

我在运行时收到以下消息:

代码语言:javascript
复制
instapy: "Invalid Like Element!"

我的代码是

代码语言:javascript
复制
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_compile设置如下:

代码语言:javascript
复制
`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']",
}`

Here the error obtained

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-07-17 01:01:36

在/usr/local/lib/python3.6/site-packages/instapy/xpath_compile.py中,将xpath"like_image“部分替换为:

代码语言:javascript
复制
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']",
}
票数 7
EN

Stack Overflow用户

发布于 2020-07-29 02:37:42

截至2020年7月28日,Instagram再次更新了他们的HTML。正确的X路径应为:

代码语言:javascript
复制
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']",
}
票数 2
EN

Stack Overflow用户

发布于 2020-07-22 02:12:28

看起来Instagram已经修改了html。

在xpath_compile.py文件中,替换xpath"like_image“

删除:

代码语言:javascript
复制
xpath["like_image"] = {
    "like": "//section/span/button[*[local-name()='svg']/@aria-label='Like']",
    "unlike": "//section/span/button[*[local-name()='svg']/@aria-label='Unlike']",
}

替换为:

代码语言:javascript
复制
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']",
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62935820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档