Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

调用aapi.user_bookmarks_illust时部分插画的简介信息遗失 #363

Open
xiyihan0 opened this issue Jun 11, 2024 · 4 comments
Open

Comments

@xiyihan0
Copy link
Contributor

今天发现调用用户收藏插图的信息的时候,部分插图信息中简介信息丢失,沿着这里点进去的插图中简介信息也会丢失,只有通过作者页面点进去才会显示正确的信息,不知道这个错误能不能稳定复现...

from pixivpy3 import *
api = AppPixivAPI()
api.auth(refresh_token='...')
res1 = api.user_bookmarks_illust(71293046)
print(*map(lambda x: x['caption'] == '', filter(lambda x: x['id'] == 118788706, res1['illusts']))) #从这里得到的illust的caption信息为空
res2 = api.illust_detail(118788706)
print(res2['illust']["caption"]) #但直接调用illust_detail却能得到正确的信息
@upbit
Copy link
Owner

upbit commented Jun 11, 2024

user_bookmarks_illust是收藏列表,在不点进具体detail页面时,客户端是否有相关字段的展示?

@xiyihan0
Copy link
Contributor Author

xiyihan0 commented Jun 11, 2024

客户端上本身不会显示简介信息,但从用户收藏插画界面点进去之后,插画的简介就会取这个user_bookmarks_illust返回的值。
这里是从收藏界面点进去的插画展示:
image
这里是直接从作者页面点进去的插画展示:
image
但奇怪的是,从user_bookmarks_illust返回的结果中有些有原插画的caption,有些却没有,所以我更倾向于这是pixiv api的一个bug...

@upbit
Copy link
Owner

upbit commented Jun 11, 2024

可能是有意这样裁剪的。按上面情况看可能是API的BUG,也可能是有意这样裁剪的
user_bookmarks_illust本身并不需要展示这些信息,点击后是重新用detail获取作品详情获取数据。因此在列表接口隐藏了这些不需要的字段,从而提高拉取列表的效率。

你可以留意下是否有某个时间前后,这些illust都缺少了这些扩展字段

@xiyihan0
Copy link
Contributor Author

xiyihan0 commented Jun 11, 2024

主要是点进去之后,根据我抓包的结果Pixiv客户端那里并没有重新按照插画的pid重新调用illust_detail,而是直接沿用的上次的结果,而我的爬虫之前就是根据页面URL和简介,标题信息是否变动来决定是否将这条记录更新到我的数据库中,结果一晚上下来就成这样了...
image

image

导致我现在的记录全都是在有和无的交错之中的,时间分布还特别不规律...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants