Comic-dl : A Little Python Script’s Journey

I have been itching to write this one since the past 2 months. But, unfortunately I’ve been too busy with the Hackathons, college projects, side projects, learning new things, binge watching stuff on Netflix and basically wasting a lot of time. “Comic-dl” is literally the project that I put my most pride in. Comic-dl is a command line program to download comics and manga from various websites. The idea isn’t something new or fresh or exciting or anything. It’s just that it is the updated version and covers a lot of sites now. Over the time, I’ve invested a lot of my time (not the spare time) in building comic-dl.

For documentation purposes and some time when my juniors ask for my guidance on how to work on a project, how to get ideas and stuff, I think this will serve as a decent example of how your project can go from 0 stars to 50+ stars in an year. Okay, I get it, it’s not that cool, but it is still an achievement for me.

 

comic-dl in action
Comic-dl in action. (Click to see in Full Screen)

 

How did the idea of “comic-dl” came to my mind?

In my third year of B.Tech, when I thought I had a decent grasp of Python and web scrapping, I asked my friend and a frequent collaborator (some times mentor) Ankit Passi about “is there anything I should automate?” and this was our conversation (a gist)  :


Me : Uh, so I think I’ve mastered web scrapping. I can scrap websites and download things, you know. I mean, automate things.

Ankit : And?

Me : Have any idea of what I can make? To automate things…?

Ankit : Hmmm, okay. Have you heard about this website.. readcomicsonline.to ? It’s basically a website that lets you read comics for free. Maybe make a downloader for it? Like take links and download all the chapters?

Me : Noice.


So, I checked that website inside out and made a simple script for it and called it “ReadComicOnline Downloader“. This was literally the script that got a decent amount of attention from a lot of people and I was adding features, fixing issues and whatnot. Just a dedicated, heavy and slow downloader that supports just one  website. Cool, I was really happy with it.

But, at the same time, I was also using this amazing tool called “youtube-dl” around the same time for various things. It then struck my mind… “Hold on a minute. Why don’t I make something similar, but for comics and manga? All in one? There are dedicated manga downloaders, but no decent comic downloader. And, there’s nothing that downloads everything. Would be a cool use-bait.”

Then, on 13th November, 2016, I developed “comic-dl“. You can see that on that day, it only supported 3 websites and was very much limited and the code was…… eww.

 

More Stars, More Contributors

To my shock, within 2-3 days, I already had a few stars on the repository and I also received a Pull Request from shaggytwodope that had some PEP 8 fixes. I literally coded like a dork and didn’t follow PEP rules, because I didn’t know what PEP was, lol.

It was a slow start, however, I started adding more features in comic-dl and added few more websites and it caught some decent amount of attention. People were opening issues like crazy. Some were bugs, some were feature requests, some were website inclusion requests and it felt so good. I was working on comic-dl as if it was a commercial  product. I mean, it felt so good that I built something and people were actually using it and enjoying it. My little tool is helping people.

As of now, at the time of writing this article (2nd February, 2018), the repository has 82 stars, 12 forks, total of 16 PRs, 87 successfully closed issues and 2 open issues. These numbers aren’t THAT big, but it still feels like a little achievement for me.

From just downloading comics from 1 single website, comic-dl evolved as a decent command line tool to download content from multiple websites. Currently, comic-dl supports features like :

  • Downloads a Single Chapter and puts in a directory with the comic name, volume and chapter.
  • Downloads all the chapters available for a series.
  • Skips already downloaded files.
  • Conversion to “cbz” and “pdf”.
  • Auto downloading of chapters.
  • Range selection.
  • Sorting order.
  • Quality Selection.
  • Error Log Generation.
  • Searching and downloading manga right from the command line.

 

It also supports multiple websites now, like :

  • Mangafox
  • YoManga
  • GoManga
  • Batoto
  • Comic Naver
  • Raw Senmanga
  • Readcomiconline.to
  • Mangahere
  • Omgbeaupeep
  • ac.qq
  • striputopija.blogspot.si
  • Mangareader.net
  • Readcomicbooksonline.net
  • Readcomics.website
  • MangaRock

 

What About Now?

StrangeDOS is a frequent issue notifier, dsanchezseco has been a life saver (auto download function) for comic-dl and there are some generous people who also donated some $$ for the project itself. I never thought that this little side project would be here at this stage. I plan to add more websites and more features as I move on. Plus, I have some more plans in future for comic-dl and I’ll probably start working on them as soon as I get some time.

 

But, WHERE IS COMIC-DL?!

So much for a blog about a tool and I haven’t linked it properly. Well, you can find the source code of “comic-dl” on its Github Page and, windows binary could be located in the Release Section.

12 Replies to “Comic-dl : A Little Python Script’s Journey”

  1. Thanks for the something totally new you have exposed in your text. One thing I’d prefer to touch upon is that FSBO associations are built as time passes. By bringing out yourself to the owners the first weekend their FSBO will be announced, prior to the masses start calling on Wednesday, you build a good connection. By mailing them methods, educational materials, free reviews, and forms, you become the ally. By taking a personal interest in them in addition to their circumstance, you produce a solid interconnection that, on many occasions, pays off if the owners opt with a representative they know and also trust – preferably you.

  2. Hi would you mind sharing which blog platform you’re working with? I’m going to start my own blog in the near future but I’m having a tough time deciding between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your layout seems different then most blogs and I’m looking for something unique. P.S My apologies for being off-topic but I had to ask!

    1. This is “WordPress”. You can go with any of them, start with a basic design and see which one suits your needs and workflow.

  3. hi!,I like your writing so so much! proportion we communicate more approximately your post on AOL? I require a specialist on this space to solve my problem. May be that’s you! Looking forward to see you.

  4. Hello very cool site!! Guy .. Beautiful .. Wonderful .. I’ll bookmark your blog and take the feeds I’m satisfied to seek out so many useful info here within the publish, we want develop extra techniques on this regard, thanks for sharing. . . . . .

  5. Hey there! Quick question that’s completely off topic. Do you know how to make your site mobile friendly? My weblog looks weird when browsing from my iphone. I’m trying to find a template or plugin that might be able to resolve this problem. If you have any recommendations, please share. Thank you!

    1. If you’re using “WordPress”, then try “Jetpack”. They’ve got a feature that’ll let you generate a mobile-friendly layout of your website.

  6. I’m so happy to read this. This is the kind of manual that needs to be given and not the random misinformation that’s at the other blogs. Appreciate your sharing this greatest doc.

Leave a Reply

Your email address will not be published. Required fields are marked *