zehina / webtoon-downloader Goto Github PK
View Code? Open in Web Editor NEWWebtoons Scraper able to download all chapters of any series wanted.
Home Page: https://zehina.github.io/Webtoon-Downloader/
License: MIT License
Webtoons Scraper able to download all chapters of any series wanted.
Home Page: https://zehina.github.io/Webtoon-Downloader/
License: MIT License
Hello,
I would like to request an option(maybe something like --createseperatefolder(--createsepfol)) so that when someone defines a destination with --dest it still downloads the webtoon into it's own folder like when not providing --dest.
I think that would make it a lot more useful to people who set an alias for this program and want all their Webtoons downloaded into another folder,[edit:] but still have them each in their own folder.
I was successfully able make it work once and downloaded a webtoon. Now I want to download it in separate folders, but I keep getting this: bash: webtoon_downloader: command not found
This is how I start off the program. Do I always have to run the pip everytime I open up git?
Also, how does python come into play with this? Everytime I open up python, I can never make it work. Ive been using just git and was able to download a webtoon successfully once. I do not know why I cannot produce the same results again
Occasionally the downloaded images have the incorrect extension . PNG instead of JPEG for example.
Like to request --chapter-name option.
Some webtoon like Infinite leveling murim or Dr Frost have custom name for each episode. Evidently, it's actuall for those, who save chapters as separate folders.
Would be great to save those names somehow!
Is it possible to download "Fast pass" and "locked" chapters?
There is no flag to skip existing chapters. Script redownload them every time it runs
I understand, that previous downloads could be unsuccessful, but i want to have an option, while running
Traceback (most recent call last): File "webtoon_downloader.py", line 169, in <module> def get_chapters_details(session: requests.session, viewer_url: str, start_chapter: int = 1, end_chapter: int = None) -> list[ChapterInfo]: TypeError: 'type' object is not subscriptable Traceback (most recent call last): File "webtoon_downloader.py", line 169, in <module> def get_chapters_details(session: requests.session, viewer_url: str, start_chapter: int = 1, end_chapter: int = None) -> list[ChapterInfo]: TypeError: 'type' object is not subscriptable
I've made sure the requirements are properly satisfied.
Hello,
Can you make it in the form of an app, so that ordinary people can use it?
Have a nice day!
I want to be able to save them as a PDF instead of having to turn them all into one.
Webtoon Downloader doesn't understand that the filename rules for Windows are somewhat different than those for Linux. When I tried to download 'Batman: Wayne Family Adventures', it tried to create a directory name with a colon in it, which isn't valid in Windows. Attached is the resulting error text.
For example, trying to download https://www.webtoons.com/en/slice-of-life/hyperfocus/list?title_no=3340 works fine, but trying to download https://www.webtoons.com/en/challenge/bittersweet-candy-bowl/list?title_no=552823 returns:
Traceback (most recent call last): File "webtoon_downloader.py", line 410, in <module> main() File "webtoon_downloader.py", line 407, in main download_webtoon(series_url, args.start, args.end, args.dest, args.images_format, args.latest, args.seperate) File "webtoon_downloader.py", line 318, in download_webtoon series_title = get_series_title(soup) File "webtoon_downloader.py", line 122, in get_series_title return html.find('h1', class_='subj').text AttributeError: 'NoneType' object has no attribute 'text'
.
I have escaped both URLs with quotes.
This will create an issue where the chapter names may create an error if the --out
argument is used.
This is what happened in downloading dungeons and artifacts
The chapter name is What's a Goblin's Favorite Type of Fish?
Originally posted by @Code-Blender-7 in #3 (comment)
Hello,
I can't download this https://www.webtoons.com/en/challenge/serious-trans-vibes/list?title_no=206579 webtoon Haven't encountered that problem with any other webtoon. Here's the error message:
wtdl https://www.webtoons.com/en/challenge/serious-trans-vibes/list?title_no=206579
[08:20:04] WARNING Directory Exists: /home/username/Documents/Webtoon-Downloader/ webtoon_downloader.py:366
Downloading Serious Trans Vibes from https://www.webtoons.com/en/challenge/serious-trans-vibes/list?title_no=206579
Traceback (most recent call last):
File "/home/username/Documents/Webtoons/Webtoon-Downloader/src/webtoon_downloader.py", line 438, in
main()
File "/home/username/Documents/Webtoons/Webtoon-Downloader/src/webtoon_downloader.py", line 435, in main
download_webtoon(series_url, args.start, args.end, args.dest, args.images_format, args.latest, separate)
File "/home/username/Documents/Webtoons/Webtoon-Downloader/src/webtoon_downloader.py", line 374, in download_webtoon
chapters_to_download = get_chapters_details(session, viewer_url, start_chapter, end_chapter)
File "/home/username/Documents/Webtoons/Webtoon-Downloader/src/webtoon_downloader.py", line 203, in get_chapters_details
in enumerate(soup.find('div', class_='episode_cont').find_all('li'), start=1)]
AttributeError: 'NoneType' object has no attribute 'find_all'
. Sorry if it's something easy/obvious. Thanks in advance.
The other webtoons were all downloaded successfully,but this link don't,why?
link--> https://www.webtoons.com/zh-hant/heartwarming/meinanyuyelang/list?title_no=1486
Hello,
I tried to download the prettiest platypus with this program, however, it didn't work. This is the link I used(https://www.webtoons.com/en/challenge/the-prettiest-platypus/chapter-1-the-new-cat-in-town/viewer?title_no=463063&episode_no=2).
I do see that it is a little bit different than the one in the example, however, I do not have an idea how to correct it if that is the problem.
My OS is Linux(Arch-based) with python 3.10.4, the error message when executing this(python webtoon_downloader.py "https://www.webtoons.com/en/challenge/the-prettiest-platypus/chapter-1-the-new-cat-in-town/list?title_no=463063&episode_no=2") command I get is :
Traceback (most recent call last):
File "/home/username/Documents/Webtoon-Downloader/src/webtoon_downloader.py", line 438, in
main()
File "/home/username/Documents/Webtoon-Downloader/src/webtoon_downloader.py", line 435, in main
download_webtoon(series_url, args.start, args.end, args.dest, args.images_format, args.latest, separate)
File "/home/username/Documents/Webtoon-Downloader/src/webtoon_downloader.py", line 358, in download_webtoon
viewer_url = get_chapter_viewer_url(soup)
File "/home/username/Documents/Webtoon-Downloader/src/webtoon_downloader.py", line 165, in get_chapter_viewer_url
return html.find('li', attrs={'data-episode-no': True}).find('a')['href'].split('&')[0]
AttributeError: 'NoneType' object has no attribute 'find
.
Any help would be appreciated. Sorry if this is the wrong tab in github for this kind of issue, I'm pretty new to this. Many thanks in advance.
When Navigate to the webtoon then src using the cd command, then paste this "pip install -r requirements.txt " i get 'pip' is not recognized as an internal or external command,
operable program or batch file.
The previous steps worked fine
Is there any major difference vs manga-py? I exclude the folder naming or organisation of files or the way app displays information at download. I think more like better quality of images, or additional content like soundtracks.
ok so I downloaded python since it seems like this is what this was using (im new to github things) and i copy and pasted this "git clone https://github.com/Zehina/Webtoon-Downloader.git" into the python bar >>> and it gave me the syntax error. I was wondering if there was a problem with this or if I'm doing something wrong.
Could you please add a --latest tag option to download only the last available chapter?
Also would be great to add a "create .cbz" option.
I want to shedule the download process via task manager and the above options would help doing it effortlesly.
For example, here is available both of above mentioned options.
[12/20/23 00:24:10] ERROR Couldn't find a tree webtoon_downloader.py:842
builder with the
features you requested:
lxml. Do you need to
install a parser
library?
┌─ Traceback (most rec─┐
│ C:\Users\Qmeri\Pycha │
│ rmProjects\Webtoon-D │
│ ownloader\src\webtoo │
│ n_downloader.py:829 │
│ in main │
│ │
│ 826 │ separate = │
│ 827 │ exporter = │
│ 828 │ try: │
│ > 829 │ │ downlo │
│ 830 │ │ │ se │
│ 831 │ │ │ ar │
│ 832 │ │ │ ar │
│ │
│ C:\Users\Qmeri\Pycha │
│ rmProjects\Webtoon-D │
│ ownloader\src\webtoo │
│ n_downloader.py:688 │
│ in download_webtoon │
│ │
│ 685 │ session.co │
│ 686 │ session.co │
│ 687 │ resp = ses │
│ > 688 │ soup = Bea │
│ 689 │ viewer_url │
│ 690 │ series_tit │
│ 691 │ if not (de │
│ │
│ C:\Users\Qmeri\AppDa │
│ ta\Local\Programs\Py │
│ thon\Python310\lib\s │
│ ite-packages\bs4_i │
│ nit_.py:250 in │
│ init │
│ │
│ 247 │ │ │ │ │
│ 248 │ │ │ bu │
│ 249 │ │ │ if │
│ > 250 │ │ │ │ │
│ 251 │ │ │ │ │
│ 252 │ │ │ │ │
│ 253 │ │ │ │ │
└──────────────────────┘
FeatureNotFound:
Couldn't find a tree
builder with the
features you requested:
lxml. Do you need to
install a parser
library?
Hey there! really great project got to know about it from https://pythonawesome.com/webtoons-scraper-able-to-download-all-chapters-of-any-series-wanted/
Wanted to ask is there any way to download webtoons like "All of us are Dead" which have "Daily pass" system and do not show the rest chapters on website url but only on their official app?
I'm willing to help because whatever you do use a desktop browser or mobile browser those chapters will only be accessible on their official apps on playstore/appstore. I primarily use Tachiyomi with webtoon extension but even it shows upto 9 chapters. which also has an open unattended issue https://github.com/tachiyomiorg/tachiyomi-extensions/issues/8705
Do yout think incorporating elements from the webtoon API provide any help?
Hello there,
I just found a minor issue and wanted to let you know. utils.py needs aiohttp but it's not included in the requirements.txt. Quickly fixed with pip, but probably worth adding. There might also be other missed imports but I'm not sure.
D:\Program\mhxz\Webtoon-Downloader\src>python webtoon_downloader.py "https://www.webtoons.com/en/challenge/crawling-dreams/list?title_no=141539"
[21:02:06] WARNING Creading Directory: Crawling_Dreams webtoon_downloader.py:372
Downloading Crawling Dreams from https://www.webtoons.com/en/challenge/crawling-dreams/list?title_no=141539
Traceback (most recent call last):
File "D:\Program\mhxz\Webtoon-Downloader\src\webtoon_downloader.py", line 448, in
main()
File "D:\Program\mhxz\Webtoon-Downloader\src\webtoon_downloader.py", line 445, in main
download_webtoon(series_url, args.start, args.end, args.dest, args.images_format, args.latest, separate)
File "D:\Program\mhxz\Webtoon-Downloader\src\webtoon_downloader.py", line 383, in download_webtoon
chapters_to_download = get_chapters_details(session, viewer_url, start_chapter, end_chapter)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program\mhxz\Webtoon-Downloader\src\webtoon_downloader.py", line 206, in get_chapters_details
in enumerate(soup.find('div', class_='episode_cont').find_all('li'), start=1)]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'find_all'
D:\Program\mhxz\Webtoon-Downloader\src>py "https://www.webtoons.com/en/challenge/crawling-dreams/list?title_no=141539"
C:\Python\python.exe: can't open file 'D:\Program\mhxz\Webtoon-Downloader\src\https:\www.webtoons.com\en\challenge\crawling-dreams\list?title_no=141539': [Errno 22] Invalid argument
Would be nice to have an option to pad file/directory names with leading zeroes, so instead of a directory listing that goes:
1 10 100 101 102 103 104 105 106 107 108 109 11 110 (etc.)
instead it would produce a listing that goes
001 002 003 004 005 006 007 008 009 010 011 012 (etc.)
Hello,
I wanted to ask whether it would be possible to make an option as described in the title. Some Webtoons have quite long pages, and look pretty bad when they get downloaded as separate images (e.g. text-bubbles getting cut of etc.), so I wanted to ask whether that would be possible.
Have a nice day!
py webtoon_downloader.py "https://www.webtoons.com/en/horror/ghost-teller/prologue/viewer?title_no=1307&episode_no=1"
get_chapters_details
checks the url ending in episode_no=1
, if that fails it goes to episode_no=2
, however this comic: https://www.webtoons.com/en/challenge/sylvania/list?title_no=211010 starts at episode_no=3
. (Adding the extra check&get isn't particularly elegant but it works)
I tried using it and everything went fine but after using the prompt " webtoon-downloader [https://www.webtoons.com/en/fantasy/1hp-club/list?title_no=2960]" I received "AttributeError: 'NoneType' object has no attribute 'split" error. What's wrong?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.