Closed TianyiShi2001 closed 4 years ago
可以获取所有完整的收藏的啊(
你只需要自己填写参数就可以了
哦哦,原来是favorite_works()
而不是user_bookmarks_illust()
哦哦,原来是
favorite_works()
而不是user_bookmarks_illust()
p站的很多appapi返回的json都带有一个next_url属性,代表的就是下一页的数据,一直递归的请求返回数据的next_url直到值为null为止就可以爬去完整的列表
哦哦,原来是
favorite_works()
而不是user_bookmarks_illust()
p站的很多appapi返回的json都带有一个next_url属性,代表的就是下一页的数据,一直递归的请求返回数据的next_url直到值为null为止就可以爬去完整的列表
嗯,我之前看user_bookmarks_illust()
返回的结果时注意到了next_url
, 但是直接requests.get()
是不行的,所以感到困扰来提这个问题。
刚才研究了一下源码,现在发现了得用pixivpy里的no_auth_requests_call()
和parse_result()
。问题得到了解决。
不建议直接使用 no_auth_requests_call / parse_result,关于获取下一页数据应该用parse_qs()
,demo里有相关的演示:
https://github.com/upbit/pixivpy/blob/v3.5.6/demo.py#L56
json_result = api.illust_recommended(bookmark_illust_ids=[59580629])
# get next page
next_qs = api.parse_qs(json_result.next_url)
json_result = api.illust_recommended(**next_qs)
明白了,谢谢!
目前貌似只能获取用户收藏第一页。不妨加入爬取完整的收藏列表的功能?