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

[Request] "ci-en" Request to add a site #2885

Closed
ytoaa opened this issue Sep 2, 2022 · 27 comments
Closed

[Request] "ci-en" Request to add a site #2885

ytoaa opened this issue Sep 2, 2022 · 27 comments

Comments

@ytoaa
Copy link

ytoaa commented Sep 2, 2022

https://ci-en.net/
It's a kind of sponsorship site that has images as well as images.

@Aergernis
Copy link

Would like to see support for this Site to

@Eradicate2968
Copy link

I too would like to see this. After changes made on Pixiv last winter some authors have left to Ci-En

@nomakewan
Copy link

Want to update this issue to say I'd love to see support for ci-en.net and ci-en.dlsite.com added to gallery-dl as well.

@angramainyuu
Copy link

+1 , I don't think there's any downloaders for ci-en out there and it's a pain in the butt to download posts.

@biggestsonicfan
Copy link

Just FYI, in the <head> element of every article page is a <script type="application/ld+json"> which contains the entire article's contents in json format. Most of the relevant, downloadable, elements will be file-player-* classes located within the articleBody key.

Example article.

@jamkinson
Copy link

jamkinson commented Mar 20, 2024

ci-en_dw.zip
My python is not so good, but I really needed to save the posts of one of the authors, perhaps my code will make it easier to understand the extraction of content from cien.

@biggestsonicfan
Copy link

biggestsonicfan commented Mar 21, 2024

ci-en_dw.zip My python is not so good, but I really needed to save the posts of one of the authors, perhaps my code will make it easier to understand the extraction of content from cien.

I don't have a jsessionid in my cookies, hmm... oh well, I changed the cookies to be able to import a cookies.txt file and I appear to have backed up paid content successfully! Thank you!

@jamkinson
Copy link

ci-en_dw.zip My python is not so good, but I really needed to save the posts of one of the authors, perhaps my code will make it easier to understand the extraction of content from cien.

I don't have a jsessionid in my cookies, hmm... oh well, I changed the cookies to be able to import a cookies.txt file and I appear to have backed up paid content successfully! Thank you!

image
image

@biggestsonicfan
Copy link

There's no jsessionid in Firefox, only Chrome.

@jamkinson
Copy link

image
Firefox also has "jsessionid", but it has a different hostname 'login.dlsite.com' vs 'ci-en.net'.

There's no jsessionid in Firefox, only Chrome.

@biggestsonicfan
Copy link

Ah, okay, I do see it now. The value was omitted from my "cookies.txt" file which I used with your script and I managed to successfully down paywalled content. Are you sure it's required?

I will experiment with manipulating my cookies.txt to find the minimum required variables.

@biggestsonicfan
Copy link

I can confirm on my end that running the download script with just ci_en_session manages to download exclusive works.

@biggestsonicfan
Copy link

I won't be able to verify support for much longer for paid posts. Visa and Mastercard are temporarily (most likely indefinitely) suspended from use as a payment method on the site.

@Eradicate2968
Copy link

As someone new to python, how would I run this script?
I have installed python 3, managed to add my ci_en_session, and change the download directory.

But when i click on the script it just shows cmd for a second then nothing happens.

@jamkinson
Copy link

I can confirm on my end that running the download script with just ci_en_session manages to download exclusive works.

I think you're right, during testing in postman I couldn't get a list of authors I'm subscribed to without this cookie, but now all ok.

@jamkinson
Copy link

As someone new to python, how would I run this script? I have installed python 3, managed to add my ci_en_session, and change the download directory.

But when i click on the script it just shows cmd for a second then nothing happens.

just copy code into any IDE(ex pycharm) and run it

@Eradicate2968
Copy link

Eradicate2968 commented Apr 17, 2024

I won't be able to verify support for much longer for paid posts. Visa and Mastercard are temporarily (most likely indefinitely) suspended from use as a payment method on the site.

with https://dl-pay.com/finish you can buy points for DLsite or Ci-en and then buy NSFW works.
MC/VISA/PayPal...

I just did it and it worked just fine.

@Eradicate2968
Copy link

Eradicate2968 commented Apr 17, 2024

I've gotten it working, thanks.

It gets stuck and stops when encountering a zip download.

`Traceback (most recent call last):
  File "D:\Downloads\ci-en_dw\ci-en_dw.py", line 213, in <module>
    download_files(get_post_items(manual_creator_id, posts['post_id']), manual_creator_id, posts['post_id'])
  File "D:\Downloads\ci-en_dw\ci-en_dw.py", line 72, in download_files
    print(item['link'], filepath)
          ~~~~^^^^^^^^
KeyError: 'link'`

@jamkinson
Copy link

ci_en_session

I didn't problems downloading archives.
If you want, you can try to debug the code manually or using GPT chat.
or tell me your ci_en_session so that I can debug the code and fix the error
You can contact me via messenger (Session) my id: 054db7c0429dba41aa914895603be91abcc37cc9534fa9128da188a37846f87738

!!!Please note if you send me ci_en_session, I will have access to the posts of the authors you are subscribed to, do this only if you trust me.

@Eradicate2968
Copy link

Eradicate2968 commented Apr 17, 2024

ci_en_session

I didn't problems downloading archives. If you want, you can try to debug the code manually or using GPT chat. or tell me your ci_en_session so that I can debug the code and fix the error You can contact me via messenger (Session) my id: 054db7c0429dba41aa914895603be91abcc37cc9534fa9128da188a37846f87738

!!!Please note if you send me ci_en_session, I will have access to the posts of the authors you are subscribed to, do this only if you trust me.

I forgot about GPT's coding abilities.
its recommended this and it works like a charm

def download_files(post_data, creator_id, post_id):
    base_folder = os.path.join(donwbload_folder, creator_id, post_id)
    pictures_folder = os.path.join(base_folder, 'pictures')
    videos_folder = os.path.join(base_folder, 'videos')
    other_files_folder = os.path.join(base_folder, 'other_files')
    description_folder = os.path.join(base_folder, 'description')

    os.makedirs(description_folder, exist_ok=True)
    with open(os.path.join(description_folder, 'description.json'), 'w', encoding='utf-8') as f:
        json.dump(post_data, f, ensure_ascii=False)

    for item in post_data['image_url']:
        filename, ext = os.path.splitext(os.path.basename(urllib.parse.urlparse(item['link']).path))
        filename_decoded = urllib.parse.unquote(filename)
        filename_with_num = f"{item['num']}_{filename_decoded}{ext}"
        filepath = os.path.join(pictures_folder, filename_with_num)
        os.makedirs(pictures_folder, exist_ok=True)
        print(item['link'], filepath)
        download_file(item['link'], filepath)

    for item in post_data['video_url']:
        filename, ext = os.path.splitext(os.path.basename(urllib.parse.urlparse(item['link']).path))
        filename_decoded = urllib.parse.unquote(filename)
        filename_with_num = f"{item['num']}_{filename_decoded}{ext}"
        filepath = os.path.join(videos_folder, filename_with_num)
        os.makedirs(videos_folder, exist_ok=True)
        print(item['link'], filepath)
        download_file(item['link'], filepath)

    if 'download_links' in post_data:
        for item in post_data['download_links']:
            if 'download_link' in item:
                filename, ext = os.path.splitext(os.path.basename(urllib.parse.urlparse(item['download_link']).path))
                filename_decoded = urllib.parse.unquote(filename)
                filename_with_num = f"{item['num']}_{filename_decoded}{ext}"
                filepath = os.path.join(other_files_folder, filename_with_num)
                os.makedirs(other_files_folder, exist_ok=True)
                print(item['download_link'], filepath)
                download_file(item['download_link'], filepath)

@501stRookie
Copy link

501stRookie commented Jun 1, 2024

ci-en_dw.zip My python is not so good, but I really needed to save the posts of one of the authors, perhaps my code will make it easier to understand the extraction of content from cien.

I've tried using this, but it seems to just create a description.json and not download any of the images. I tested it using a free post and it downloaded the images fine, but when I attempted to download from a creator I subscribed too it did not work.

@jamkinson
Copy link

ci-en_dw.zip My python is not so good, but I really needed to save the posts of one of the authors, perhaps my code will make it easier to understand the extraction of content from cien.

I've tried using this, but it seems to just create a description.json and not download any of the images. I tested it using a free post and it downloaded the images fine, but when I attempted to download from a creator I subscribed too it did not work.

Unfortunately, without researching the problematic post, I cannot identify the reason.
Нou can contact me using the contacts above so that I can try to debug the code or you can use gpt chat for debugging.

@SAI13103
Copy link

SAI13103 commented Jul 9, 2024

Unfortunately, without researching the problematic post, I cannot identify the reason. Нou can contact me using the contacts above so that I can try to debug the code or you can use gpt chat for debugging.

https://ci-en.dlsite.com/creator/22374/article/1119644
It seems that the manga in the post cannot be downloaded.

@Hrxn
Copy link
Contributor

Hrxn commented Jul 9, 2024

What did you expect? It's still not supported.

@DisasterInbound
Copy link

I'm here to also request cien support. It would be really helpful to download many posts with so many pictures like the link above. I'm unsure what would be needed to add support but if dev needs information from an account with ci en subscriptions I'll gladly help

@mikf
Copy link
Owner

mikf commented Jul 28, 2024

So I've finally managed to get myself to sit down and write some code: aa6d006

I took some inspiration from jamkinson's code (#2885 (comment)), so my implementation should at least be able to download what it can. Support for galleries like #2885 (comment) and (Youtube) embeds is still missing.

Let me know what else needs to be done or what doesn't work like it should.

@nomakewan
Copy link

nomakewan commented Jul 28, 2024

Just tested it real quick on a free article and it worked perfectly! Thank you so much!

EDIT: Well that was fast. Dunno if it was because I wasn't passing a cookie correctly or what, but when I switched to trying to download an account I was following, it suddenly threw a bunch of 403 errors. When I then tried to refresh the website in my browser, sure enough, I now get a 403 when I go to that author's page rather than being able to access it.

EDIT 2: Deleting my browser cookie and logging back in solved the 403. But it would indeed appear that they have some bot detection going on that gallery-dl is tripping.

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