Comments (9)
Hey there.
In 1.3.0 I added a couple options to address this, as I was planning on adding something like this for a while.
--ignore-dubs
will now attempt to ignore any dubs
--episodes
will allow you to select episode ranges
--download-all
will download all collections
The best part is, all of these can be used in conjunction... For example:
crunchyroll-dl -i https://www.crunchyroll.com/fullmetal-alchemist-brotherhood --download-all --ignore-dubs --episodes 1-12,15-20
Would ignore the dubbed version of the show, choose the subbed season, and download episodes 1-12 and 15-20, all without you needing to touch the keyboard.
I also tried to add a lot of feedback if something goes wrong.
Hope this helps!
from crunchyroll-dl.
Thank you and great work with this. I only have one minor issue with the "--episodes" parameter: If you only select one single episode it'll just drop out with an unhandle promise rejection. I'm aware that you can download single episodes with providing the direct link to it but without any proxy or session cookie magic in the browser you'll not be able to get that direct link for (out of your) region specific content. So at least for me it would be more convenient to be able to also select single episodes with the "--episodes" parameter.
[EDIT] Forgot to post the error message when using only one episode number in the param:
(node:17190) UnhandledPromiseRejectionWarning: TypeError: episodeRanges.split is not a function at main (/usr/local/lib/node_modules/crunchyroll-dl/index.js:421:47) at < anonymous > at process._tickCallback (internal/process/next_tick.js:188:7) (node:17190) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:17190) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
from crunchyroll-dl.
Hmm, I see your point. I have fixed that bug in 1.3.1, and, to hopefully help, I pushed a feature that I had in my private version - --list
. It will list all the collections and episodes as a tree in your console.
from crunchyroll-dl.
Oh, you did a excellent job there.
from crunchyroll-dl.
@simplymemes the new list param is awesome - thanks for that.
The --ignore-dubs parameter is working most of the time but with series like https://www.crunchyroll.com/puella-magi-madoka-magica it'll also select the dubbed version as it's not following the "(LNG Dub)" naming but simply "(Dubbed)". Maybe you could extend the regex to also include the optional "bed" at the end?
from crunchyroll-dl.
Found another "minor" bug with the series: https://www.crunchyroll.com/squid-girl
The first collection contains some files with no episode number:
└─ Squid Girl ├─ Squid Girl Season 1 │ ├─ #(none) Squid Girl Preview #1 │ ├─ #(none) Interview with Squid Girl (Hisako Kanemoto) │ ├─ #(none) Hat Making │ ├─ #(none) Squid Girl Preview #2 │ ├─ #1 Who's up for a squid-vasion? / Hold on a squid, aren't you a compatriot? / Aren't I just the squiddiest? │ ├─ #2 Wait a squid, aren't you on my side? / Up for a squid-celebration? / Wanna play with this squid? [...]
Without providing the episode (-e) parameter it'll drop out with:
i Beginning to download "Squid Girl Season 1" i Downloading episode (not set), "Squid Girl Preview #1", of "Squid Girl Season 1" i Attempting to fetch episode... ! You may not have access to watch this episode (node:4333) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'url' of undefined at getEpisode (/usr/local/lib/node_modules/crunchyroll-dl/index.js:240:33) at < anonymous > at process._tickCallback (internal/process/next_tick.js:188:7) (node:4333) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:4333) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
By simply selecting the episodes with -e 1-12 this error is avoided as the episodes are filtered out.
[EDIT] I'm using v1.3.2
from crunchyroll-dl.
@Noctunus I quickly pushed 1.3.3 to address these two problems :)
from crunchyroll-dl.
Thank you very much.
from crunchyroll-dl.
@simplymemes
I'll close this ticket now as the suggested feature is implemented and tested so far. If anything else comes up I'll open a new ticket.
Thanks a lot!
from crunchyroll-dl.
Related Issues (20)
- Problem when try to download with unblock flag HOT 4
- Download stop working HOT 6
- Login with a cookie file HOT 1
- UnhandledPromiseRejectionWarning: incorrect header check HOT 1
- (node:28502) UnhandledPromiseRejectionWarning: Error: Request failed with status code 403 HOT 18
- Cannot solve CAPTCHA automatically! Please try again later. HOT 3
- How can I download the anime without subtitles?
- How do I download all episodes after a certain one?
- stream_data field missing in info responses HOT 1
- Unhandled Promise Error 403 HOT 4
- add method cookie injection
- "Could not get episode!” error message
- Dependencies issues
- (node:3481) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '1' of null HOT 2
- How to fix this?
- Cannot download videos with soft subs HOT 1
- Incompatible With New Beta Site
- Error: "Cannot solve CAPTCHA automatically! Please try again later" HOT 1
- json idea
- Bug, TypeError: Cannot read properties of undefined (reading 'session_id') HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crunchyroll-dl.