diff --git a/Anime_Downloader.py b/Anime_Downloader.py
index 8706b39..b5f8db6 100644
--- a/Anime_Downloader.py
+++ b/Anime_Downloader.py
@@ -126,7 +126,7 @@ def main() :
parser.add_argument("-e", "--end", required=False, help="End episode", default=9999, type=int ,dest="end")
parser.add_argument("-c", "--code", required=False, help="Recaptcha answer token code. Insert this if you don't have 2captcha captcha bypass api_key", default=None, dest="token")
parser.add_argument("-t", "--threads", required=False, help="Number of parrallel downloads. Will download sequencially if not provided", default=1, type=int ,dest="threads")
- parser.add_argument("-f", "--filler", required=False, help="Whether fillers needed", default=False, type=bool ,dest="isFiller")
+ parser.add_argument("-f", "--filler", required=False, help="Whether fillers needed", default=True, type=bool ,dest="isFiller")
args = parser.parse_args()
diff --git a/Anime_Scraper.py b/Anime_Scraper.py
index e8f1d2d..c97c7b3 100644
--- a/Anime_Scraper.py
+++ b/Anime_Scraper.py
@@ -84,16 +84,18 @@ def extract_page_urls(start_episode, end_episode, token) :
if token is None :
if api_key is None :
Color.printer("ERROR", "No API Key Provided!")
- exit(0)
+ sys.exit(0)
- Color.printer("INFO", "Solving recaptcha...")
+ if api_key != "" or api_key != "insert_2captcha_api_key":
+ Color.printer("INFO", "Solving recaptcha...")
- token = get_token("https://9anime.to/waf-verify")
- if not token :
- Color.printer("ERROR", "Captcha solving failed! Exiting...")
- exit(0)
+ token = get_token("https://9anime.to/waf-verify")
+ if not token :
+ Color.printer("ERROR", "Captcha solving failed! Exiting...")
+ sys.exit(0)
- verify(token)
+ if token:
+ verify(token)
Color.printer("INFO", "Extracting page URLs...")
diff --git a/README.md b/README.md
index ec9cb0e..9dfa71b 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,142 @@
There are two scripts (Anime_Downloader.py, Anime_Scraper.py) to download given anime to a directory and to extract direct download links.
Anime_Scraper.py scraper is used to collect and extract direct anime download links from 9anime.to (From its Mp4Upload server)
-## Getting started
+## Download Anime Downloader [Windows]
+> Note : Currently only windows executable is provided (Linux, Mac users go to "Build from source")
+
+Download the [Latest Relase](https://github.com/Oshan96/Anime-Downloader/releases) from here and extract the zip file
+
+## Downloading
+
+First of all, Anime Downloader uses [2captcha](https://www.2captcha.com) to bypass google recaptcha, so you need to purchase one
+
+Open settings.json and set [2captcha](https://2captcha.com/) API key in "api_key"
+
+```json
+ "api_key":"insert_2captcha_api_key"
+```
+
+*Don't have 2captcha API key? Don't worry! You can still use this to download anime. Check the "FAQ" section on [how to download if you don't have a 2captcha API key](#Q---I-don't-have-a-2captcha-API-key,-is-there-any-workaround-for-that?)*
+
+Navigate to the extracted folder and open a cmd or powershell window from that folder and execute "anime-dl.exe" from command line.
+
+## How to download using anime-dl?
+
+First of all, you need to be familiar with the commands you can use with the Anime Downloader.
+
+Commands List :
+ -h, --help show this help message and exit
+ -u, --url 9Anime.to URL for the anime to be downloaded
+ -n, --names https://www.animefillerlist.com/ URL to retrieve episode titles
+ -d, --directory Download destination. Will use the current directory if not provided
+ -s, --start Starting episode
+ -e, --end End episode
+ -c, --code Recaptcha answer token code. Insert this if you don't have 2captcha captcha bypass api_key
+ -t, --threads Number of parrallel downloads. Will download sequencially if not provided
+ -f, --filler Whether fillers needed (True/False)
+
+Above mentioned are the arguments you should use in order to download anime.
+
+The below [FAQ](#FAQ) section provides examples on how to download anime
+
+## FAQ
+
+### Q - How can I download one piece anime episodes from 10 to 20?
+
+```bash
+ ./anime-dl.exe -u https://9anime.to/watch/one-piece.ov8/169lyx -s 10 -e 20 -n https://www.animefillerlist.com/shows/one-piece
+```
+
+Explantion of the commands used :
+1) -u https://9anime.to/watch/one-piece.ov8/169lyx : After the "-u" the 9anime.to url for one piece anime is provided
+2) -s 10 : start downloading from 10th episode (included)
+3) -e 20 : end downloading at 20th episode (included)
+4) -n https://www.animefillerlist.com/shows/one-piece : Provide the animefillerlist.com url for one piece episodes list (this is required)
+
+### Q - How can I download one piece anime episodes 30 to 70 into "D:\Anime\One Piece" folder?
+
+```bash
+ ./anime-dl.exe -u https://9anime.to/watch/one-piece.ov8/169lyx -s 10 -e 20 -n https://www.animefillerlist.com/shows/one-piece -d "D:\Anime\One Piece"
+```
+
+Explanation of commands :
+1) -d "D:\Anime\One Piece" : Download the episodes into "D:\Anime\One Piece" folder
+
+### Q - How can I download bleach episodes 100 to 130 into "D:\Anime\Bleach" folder and download 4 episodes at once?
+
+```bash
+ ./anime-dl.exe -u https://9anime.to/watch/bleach.6j9/lz7wvq -s 100 -e 130 -n https://www.animefillerlist.com/shows/bleach -d "D:\Anime\Bleach" -t 4
+```
+
+Explanation of commands :
+1) -t 4 : Perform 4 downloads at once
+
+### Q - How can I download bleach episodes 100 to 130 without filler episodes into "D:\Anime\Bleach" folder and download 3 episodes at once?
+
+```bash
+ ./anime-dl.exe -u https://9anime.to/watch/bleach.6j9/lz7wvq -s 100 -e 130 -n https://www.animefillerlist.com/shows/bleach -d "D:\Anime\Bleach" -t 4 -f False
+```
+
+Explanation of commands :
+1) -f False : Avoid downloading filler episodes in the given range (Default : True)
+
+### Q - I don't have a 2captcha API key, is there any workaround for that?
+Answer : Yes ofcourse! If you don't have a 2captcha API key to bypass captcha, you can still download your favourite anime!
+*But how?*
+Follow these steps and you will be up and running in no time!
+
+Let's try it!
+
+> Assumptions : let's assume you want to download bleach episodes as in the previous question
+
+Steps :
+1) Open a private window in the browser (ex: Google chrome)
+2) Go to the 9anime url (Bleach page) (https://9anime.to/watch/bleach.6j9/lz7wvq)
+3) Now the recaptcha will appear
+
+![recaptcha image](docs/images/recaptcha.png)
+
+4) Right click and open inspection mode (ctrl+shift+i for google chrome)
+
+![inspect window](docs/images/inspect.png)
+![inspect window2](docs/images/inspect2.png)
+
+5) Solve the recaptcha appeared on page (DO NOT SUBMIT!)
+
+![solve captcha](docs/images/solve.png)
+
+6) Find the captcha answer from the webpage using inspector
+
+![captcha answer](docs/images/answer.png)
+
+Answer is the "value" of the "input" element with the id "recaptcha-token" (Find for element using this id using ctrl+f to find)
+Copy the "value" of the input tag
+
+So the value/recpacha answer is :
+
+"03AERD8Xode9TV-gFkG-7CNkllpKoiXfDKVEZ0Lu9NjGpxVv89bjwNHkS5bcfXHqKXx746tsNW_IUMhSVV7Aym-lcvdn6jd5Ggy1a28AQ_BI1K380joLpYReKB0EOjJjO2oVEUpOgtPu0fgfjxABKpI9EjrDZ0T7iSsKDPfhnXebQcZxIbAwelADkZ8m4qYojn3J_-kQyreIRCEztWyTTpm_SoNt6lIpFxG-egDFqVF6Sg7ICPp0QQrPa5UC-6pecgs_3xspg7PN48VOXGfHH4PCARIaGVL-J5CYNsesqUuZ4t_4kni9euduhtB3KCrV1_IYOhymepwczWIKKPGmze2DKVddoDBABlS8NZaxHRFAzNjjJHOhlRyblBMlmerK_Mu5N25bZeY5ZZ"
+
+Now we have what we need!
+
+All you have to do is, add -c or --code command to the previous example's code like below
+
+```bash
+ ./anime-dl.exe -u https://9anime.to/watch/bleach.6j9/lz7wvq -s 100 -e 130 -n https://www.animefillerlist.com/shows/bleach -d "D:\Anime\Bleach" -t 4 -f False -c 03AERD8Xode9TV-gFkG-7CNkllpKoiXfDKVEZ0Lu9NjGpxVv89bjwNHkS5bcfXHqKXx746tsNW_IUMhSVV7Aym-lcvdn6jd5Ggy1a28AQ_BI1K380joLpYReKB0EOjJjO2oVEUpOgtPu0fgfjxABKpI9EjrDZ0T7iSsKDPfhnXebQcZxIbAwelADkZ8m4qYojn3J_-kQyreIRCEztWyTTpm_SoNt6lIpFxG-egDFqVF6Sg7ICPp0QQrPa5UC-6pecgs_3xspg7PN48VOXGfHH4PCARIaGVL-J5CYNsesqUuZ4t_4kni9euduhtB3KCrV1_IYOhymepwczWIKKPGmze2DKVddoDBABlS8NZaxHRFAzNjjJHOhlRyblBMlmerK_Mu5N25bZeY5ZZ
+```
+
+### Recaptcha does not appear even in private browsing. What can I do?
+
+Answer :
+> Assumptions : let's assume you want to download bleach episodes as in the previous question
+
+This can be solved in 2 steps.
+
+1) Run the anime-dl commands without -c/--code command (like you have a 2captcha key)
+This will probably give error, but that's what we need.
+
+2) Now try loading the recaptcha page in private browsing. It will appear!
+
+## Building from source
- Clone the project using to your local machine
@@ -16,7 +151,7 @@ Anime_Scraper.py scraper is used to collect and extract direct anime download li
1) Download the dependancies using requirements.txt file
```
- pip3 install -r requirements.txt
+ pip install -r requirements.txt
```
2) Rename settings_example.json as settings.json
@@ -26,7 +161,7 @@ Anime_Scraper.py scraper is used to collect and extract direct anime download li
"api_key":"insert_2captcha_api_key"
```
-> If you don't have a 2captcha API key purchased, you can manually set the needed information by feeding a specific webpage to the application and this functionality will be added sooner.
+> If you don't have a 2captcha API key purchased, check the "FAQ" section on [how to download if you don't have a 2captcha API key](#Q---I-don't-have-a-2captcha-API-key,-is-there-any-workaround-for-that?)
## Usage
@@ -35,7 +170,7 @@ Anime Downloader is a CLI application which takes command line arguments in exec
To see the full available commands, run
```bash
-python3 ./Anime_Downloader.py --help
+python ./Anime_Downloader.py --help
```
```
@@ -46,24 +181,14 @@ Anime Downloader Command Line Tool
optional arguments:
-h, --help show this help message and exit
- -u , --url 9Anime.to URL for the anime to be downloaded
- -n , --names
- https://www.animefillerlist.com/ URL to retrieve
- episode titles
- -d , --directory
- Download destination. Will use the current directory
- if not provided
- -s , --start
- Starting episode
- -e , --end End episode
- -c , --code
- data-ts tag value of the given url webpage. Insert
- this if you don't have 2captcha captcha bypass api_key
- -t , --threads
- Number of parrallel downloads. Will download
- sequencially if not provided
- -f , --filler
- Whether fillers needed (True/False)
+ -u, --url 9Anime.to URL for the anime to be downloaded
+ -n, --names https://www.animefillerlist.com/ URL to retrieve episode titles
+ -d, --directory Download destination. Will use the current directory if not provided
+ -s, --start Starting episode
+ -e, --end End episode
+ -c, --code Recaptcha answer token code. Insert this if you don't have 2captcha captcha bypass api_key
+ -t, --threads Number of parrallel downloads. Will download sequencially if not provided
+ -f, --filler Whether fillers needed (True/False)
```
## Examples
diff --git a/docs/images/answer.png b/docs/images/answer.png
new file mode 100644
index 0000000..d40acdc
Binary files /dev/null and b/docs/images/answer.png differ
diff --git a/docs/images/inspect.png b/docs/images/inspect.png
new file mode 100644
index 0000000..1303505
Binary files /dev/null and b/docs/images/inspect.png differ
diff --git a/docs/images/inspect2.png b/docs/images/inspect2.png
new file mode 100644
index 0000000..310ddf1
Binary files /dev/null and b/docs/images/inspect2.png differ
diff --git a/docs/images/recaptcha.png b/docs/images/recaptcha.png
new file mode 100644
index 0000000..bf3bd13
Binary files /dev/null and b/docs/images/recaptcha.png differ
diff --git a/docs/images/solve.png b/docs/images/solve.png
new file mode 100644
index 0000000..0d86172
Binary files /dev/null and b/docs/images/solve.png differ