Skip to main content

A UDP torrent tracker scraper written in Python 3

Project description

Torrent Tracker Scraper

A UDP torrent tracker scraper written in Python 3

PyPI pyversions PyPI version License: LGPL v3

Installation

pipenv install torrent-tracker-scraper
pipenv shell

Usage

Pass in a list of infohashes

from torrent_tracker_scraper import scraper

scraper = scraper.Scraper(
    infohashes=[
        "82026E5C56F0AEACEDCE2D7BC2074A644BC50990",
        "04D9A2D3FAEA111356519A0E0775E5EAEE9C944A",
    ]
)
results = scraper.scrape()
print(results)

[
    ...,
    {
        'tracker': 'udp://explodie.org:6969',
        'results': [
            {
                'infohash': '82026E5C56F0AEACEDCE2D7BC2074A644BC50990',
                'seeders': 246,
                'completed': 0,
                'leechers': 36
            },
            {
                'infohash': '04D9A2D3FAEA111356519A0E0775E5EAEE9C944A',
                'seeders': 7,
                'completed': 0,
                'leechers': 27
            }
        ]
    },
    {
        'tracker': 'udp//:bt-trace.adgk.net:6969',
        'results': [
            {
                 'infohash': '82026E5C56F0AEACEDCE2D7BC2074A644BC50990', 'error': 'Could not get stats for infohash [bt-trace.adgk.net:6969]'
            },
            {
                 'infohash': '04D9A2D3FAEA111356519A0E0775E5EAEE9C944A', 'error': 'Could not get stats for infohash [bt-trace.adgk.net:6969]'
            }
        ],
        'error': None
    }
    ...

Get your scrapped information

Pass in a list of trackers

from torrent_tracker_scraper import scraper

scraper = scraper.Scraper(
    trackers=["udp://explodie.org:6969/annouce"],
    infohashes=[
        "82026E5C56F0AEACEDCE2D7BC2074A644BC50990",
        "04D9A2D3FAEA111356519A0E0775E5EAEE9C944A",
    ],
)
results = scraper.scrape()
print(results)

[
    ...,
    {
        'tracker': 'udp://explodie.org:6969',
        'results': [
            {
                'infohash': '82026E5C56F0AEACEDCE2D7BC2074A644BC50990',
                'seeders': 246,
                'completed': 0,
                'leechers': 36
            },
            {
                'infohash': '04D9A2D3FAEA111356519A0E0775E5EAEE9C944A',
                'seeders': 7,
                'completed': 0,
                'leechers': 27
            }
        ]
    },
    ...

Testing

pipenv install --dev
pipenv run pytest

Help/Contributing

  1. Install dev dependencies pipenv install --dev

  2. Make your changes

  3. Make sure your tests pass pipenv run pytest

  4. Create an issue here

    https://github.com/project-mk-ultra/torrent-tracker-scraper/issues.

Contributors (in alphabetical order)

  1. https://github.com/49e94b8f256530dc0d41f740dfe8a4c1
  2. https://github.com/dessalines
  3. https://github.com/zawi99

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for torrent-tracker-scraper, version 4.1.0
Filename, size File type Python version Upload date Hashes
Filename, size torrent_tracker_scraper-4.1.0-py3-none-any.whl (9.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size torrent-tracker-scraper-4.1.0.tar.gz (9.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page