AlphaSlayer1964 / kemono-dl

A simple kemono.party downloader using python.
499 stars 81 forks source link

Yesterday it work normal,but suddenly broken #194

Open qiuqiumaomao opened 8 months ago

qiuqiumaomao commented 8 months ago

Version

Version:kemono-dl-2022.04.27

Your Command

`` python kemono-dl.py --cookies "cookies.txt" --link https://kemono.party/patreon/user/28464855


### Error messages and tracebacks
<!-- Please include any error messages or tacebacks. -->
```<!-- A description of the bug. -->
ERROR:Unable to get list of creators from kemono.party
Traceback (most recent call last):
  File "C:\Users\瑞雪千骐\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\models.py", line 910, in json
    return complexjson.loads(self.text, **kwargs)
  File "C:\Users\瑞雪千骐\AppData\Local\Programs\Python\Python310\lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "C:\Users\瑞雪千骐\AppData\Local\Programs\Python\Python310\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\瑞雪千骐\AppData\Local\Programs\Python\Python310\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "G:\kemono-dl\src\main.py", line 669, in start_download
    self.creators += self.get_creators(domain)
    return self.session.get(url=creators_api, cookies=self.cookies, headers=self.headers, timeout=self.timeout).json()
  File "C:\Users\瑞雪千骐\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\models.py", line 917, in json
requests.exceptions.JSONDecodeError: [Errno Expecting value] <!doctype html>

Description of bug

a few days ago,When i normally try to download something this happened,it works well just yesterday,I asked GPT and it said that the server ruturn a 404,I try to get the new cookies but it also didn't work. ### How To Reproduce 1.Copy link from the site 2.Use command i always used ### Additional comments

Appreciate your work,I don't know why some text didn't view,so i copy them here.by the way it is not work on kemono.su.I'll be appreciated if you fix it :D

billy0402 commented 8 months ago

It's cause of kemono update its api base url. So you will get all 404 not found when using the api.

I have forked a version and tried to fixed it. But it's not perfect now. And the api now limit with max 50 posts to get. Maybe you can try it. https://github.com/billy0402/kemono-dl

ILogOutOnTheToilet commented 8 months ago

I also made an update here: https://github.com/ILogOutOnTheToilet/kemono-dl/tree/update-api My branch doesn't support the old ".party" top-level domain, so you need to use the new ".su" top-level domain for the URL.

gugulumasiro commented 8 months ago

I also made an update here: https://github.com/ILogOutOnTheToilet/kemono-dl/tree/update-api My branch doesn't support the old ".party" top-level domain, so you need to use the new ".su" top-level domain for the URL.

I tried your script, but when I try to download a post, it will automatically download all the author's posts.

ILogOutOnTheToilet commented 8 months ago

I also made an update here: https://github.com/ILogOutOnTheToilet/kemono-dl/tree/update-api My branch doesn't support the old ".party" top-level domain, so you need to use the new ".su" top-level domain for the URL.

I tried your script, but when I try to download a post, it will automatically download all the author's posts.

What command did you use? It worked fine for me when I tried using --dateafter and --datebefore, but I didn't test every case since there are no tests to begin with.

gugulumasiro commented 8 months ago

I also made an update here: https://github.com/ILogOutOnTheToilet/kemono-dl/tree/update-api My branch doesn't support the old ".party" top-level domain, so you need to use the new ".su" top-level domain for the URL.

I tried your script, but when I try to download a post, it will automatically download all the author's posts.

What command did you use? It worked fine for me when I tried using --dateafter and --datebefore, but I didn't test every case since there are no tests to begin with.

In the use of the previous script, I did not use -- date after and -- date before, but it can still download specific posts by using post_id. It seems that after modification, only the user ID can be recognized, regardless of whether you have added a post_id after the link or not.

ILogOutOnTheToilet commented 8 months ago

I also made an update here: https://github.com/ILogOutOnTheToilet/kemono-dl/tree/update-api My branch doesn't support the old ".party" top-level domain, so you need to use the new ".su" top-level domain for the URL.

I tried your script, but when I try to download a post, it will automatically download all the author's posts.

What command did you use? It worked fine for me when I tried using --dateafter and --datebefore, but I didn't test every case since there are no tests to begin with.

In the use of the previous script, I did not use -- date after and -- date before, but it can still download specific posts by using post_id. It seems that after modification, only the user ID can be recognized, regardless of whether you have added a post_id after the link or not.

It should work now. They changed the way single posts are returned from array to object and I accidentally added a regex that only checked for creators and not posts because I don't usually download by posts.

gugulumasiro commented 8 months ago

I also made an update here: https://github.com/ILogOutOnTheToilet/kemono-dl/tree/update-api My branch doesn't support the old ".party" top-level domain, so you need to use the new ".su" top-level domain for the URL.

I tried your script, but when I try to download a post, it will automatically download all the author's posts.

What command did you use? It worked fine for me when I tried using --dateafter and --datebefore, but I didn't test every case since there are no tests to begin with.

In the use of the previous script, I did not use -- date after and -- date before, but it can still download specific posts by using post_id. It seems that after modification, only the user ID can be recognized, regardless of whether you have added a post_id after the link or not.

It should work now. They changed the way single posts are returned from array to object and I accidentally added a regex that only checked for creators and not posts because I don't usually download by posts.

thank you so much, it truly work for me.

Dazven commented 8 months ago

Started from scratch and made sure everything is as it should be, but now getting "ERROR:No creator information was retrieved. | exiting" when trying to download with the user ID. Something I'm missing or did something change again?

JamiDEV commented 7 months ago

@ILogOutOnTheToilet Thank you for the fix, quick question, how to remove the folder creation for individual items? Thank you

L4cache commented 6 months ago

@ILogOutOnTheToilet Thank you for the fix, quick question, how to remove the folder creation for individual items? Thank you

Not exactly sure what you talking but maybe you need to modify the filename patterns

JamiDEV commented 5 months ago

@ILogOutOnTheToilet Thank you for the fix, quick question, how to remove the folder creation for individual items? Thank you

Not exactly sure what you talking but maybe you need to modify the filename patterns

when downloading the creators content, a folder is made for each individual file based on date. You can end up with 2000 folders.