Giter VIP home page Giter VIP logo

nyaascraper's Introduction

nyaascraper

An application to scrape and open magnet links for HorribleSubs/subsplease/Erai-raws torrents from nyaa.si. Useful for when batches don't exist or you don't have some particular episodes.

This scraper will search for the provided show at the specified quality on the corresponding groups page on nyaa.si and open the magnet links in your default BitTorrent client.

This is a modified version of my old HorribleSubs scraper, but made to work with a couple more groups: https://github.com/zaini/horriblesubsscraper

Video walkthrough (of horriblescraper, which is very similar): https://youtu.be/YAVOioo6PPM

Features

  • searches for shows using the same search engine as on nyaa.si
  • allows user to select quality (480p, 720p or 1080p)
  • select range of episodes to download, including episodes with decimals e.g. 13.5
  • doesn't download premade batch files which are already available by the groups on nyaa.si
  • loads magnets in chronological order of upload to nyaa.si
  • tells you how many episodes weren't found/loaded
  • option to download the .torrent files instead of opening the magnets directly (although not recommended)

Soon:

  • updated demo video
  • output which files were not found
  • add more videos
  • deal with more errors
  • update this README

Requirements

  • Python 3.0+
  • Any BitTorrent client which allows for magnet links

Installation

  1. Download nyaascraper.py
  2. Make sure you have pip installed
  3. Run pip install -r requirements.txt

Usage

Find the list of group names [below.]

python nyaascraper.py -g <group_name> -s <show_name> -q <quality> -a <start_epsiode> -z <end_epsiode>

e.g.

python nyaascraper.py -s "shingeki no kyojin" -q 720 -a 10 -z 15 -g hs
python nyaascraper.py -s Gleipnir -q 1080 -a 0 -z 999 -g sp

If the group doesn't exist (or you don't specify a group) then Erai-raws will be used as a default.

python nyaascraper.py -s "shingeki no kyojin" -q 720 -a 10 -z 15 -g fakegroup

Enter the show's name as you would search for it on nyaa.si/user/INSERT_GROUP_NAME

Enter the quality you want. Usually just 480p, 720p or 1080p

Then enter the first episode and last episode you want to download. This is an inclusive range. e.g. Entering 10 and 15 will also download episodes 10 and 15.

You can add -f or --file at the end of the command to download the .torrent files instead of opening the magnets, although this is not suggested.

(in case it's not clear, you'll need to run all these commands from a terminal)

Groups

NOTE: I HAVEN'T USED ALL OF THESE GROUPS SO IDK IF THEY SUCK OR EVEN WORK. I personally suggest one of the first 3.

Group Code
HorribleSubs hs
subsplease sp
Erai-raws er
kiyoshiisubs kiyoshiisubs
Mayansito mayansito
SmallSizedAnimations ssa
Ember_Encodes ember

Additional information

If the specified show at the specified quality is not available, it will not be loaded and you'd have to check that manually. To avoid having to change the file download location for each torrent, change it on one torrent so it becomes the default then run the program. Your client may also allow you to check a box to not open up a dialog box.

This is a modified version of my old HorribleSubs scraper: https://github.com/zaini/horriblesubsscraper

nyaascraper's People

Contributors

jorgemrisco avatar sharath avatar zaini avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

nyaascraper's Issues

Using own groups/nyaa users

Maybe you could introduce a new optional argument (--nyaauser?) that allows to provide a custom nyaa account to search through.

Adding other users/groups

I'm trying to add other groups/users to scrape from nyaa. Unfortunately I'm having a problem where it says the episodes could not be loaded.

It fails at the part of:

rows = soup.find_all('tr', class_='success')

I added this:

ssa_url = URL('https://nyaa.si/user/SmallSizedAnimations?f=0&c=0_0&q={}&o=desc&p={}', -2, -1)

and instead of rows valuing a lot of stuff it only values to []

I also added this but it has the same results:

ember_url = URL('https://nyaa.si/user/Ember_Encodes?f=0&c=0_0&q={}&o=desc&p={}', -3, -2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.