Giter Club home page Giter Club logo

gfycatdownloader's Introduction

GfycatDownloader

With version 1.0.1 and 2.0.0 HTTPS / SSL Certificate verification is disabled making it possible to still download.

Download from releases

Types of downloads:

  1. Own Profile

    • Requires an auth key.
    • Downloads public and private gfys of authenticated user.
    • Creates a folder using the user's profile name.

  2. User Profile

    • Downloads only public gfys of the specified user.
    • Creates a folder using the user's profile name.

  3. Single Collection

    • Downloads public and private gfys inside of a public collection.
    • Creates a folder using the user's profile name and the collection ID.

  4. Own Collections

    • Requires an auth key.
    • Downloads all collections public and private of authenticated user.
    • Creates indiviual folders for each collection using the user's profile name and collection ID.
    • One issue that can arise is that the auth key lasts for approximately one hour. If there are a lot public/private collections and the download time exceeds one hour, an "ExpiredOrInvalidAuthKey" error may occur. In such cases, the best solution would be to restart the download with a new auth key or make the collections public, removing the need for an auth key.

  5. User Collections

    • Downloads all public collections of the specified user.
    • Creates indiviual folders for each collection using the user's profile name and collection ID.

  6. Own Likes

    • Requires an auth key.
    • Downloads all of your public and private/hidden likes.
    • Creates a folder like username - likes

  7. User Likes

    • Downloads the public likes of the specified user.
    • Creates a folder like username - likes

  8. JSON File

    • When downloading using the first three types, a json file is created with info of all the gfys. If the download is interrupted midway, the already created json can be used to resume the download instead of requesting the gfys from Gfycat again.
    • No folder is created so the specific user/collection folder needs to be specified.

  9. Text File

    • Downloads user profiles, collections, and single gfys from a text file. Put each url on a new line.
    • Creates folders based on the type of download. Single gfys are downloaded to the base output folder.

To get an auth key go to Gfycat.com while logged in, open dev tools, refresh the page, go to the network tab and look through the requests until you find one that has "Authorization" in the response headers, copy everything after "Bearer". That's the auth key and can be used to download your own gfys.

The default output template is %(upload_date)s - %(title)s [%(gfy_id)s]. Available options are upload_date, title, gfy_id, likes, frame_rate, height, width, views.

gfycatdownloader's People

Contributors

shineasnine avatar

Stargazers

 avatar  avatar Lyra Rebane avatar  avatar  avatar ThisUser avatar Sereath avatar Karma avatar chordan avatar Pedro Araujo avatar  avatar Joes Cathbert avatar Lyndon Williams avatar  avatar

Watchers

 avatar

Forkers

joe-downs

gfycatdownloader's Issues

Does this repo still work?

I created a text file with:

https://gfycat.com/enchantingminiaturechital

and tried to run the exe in 9 mode. I get an getaddrinfo failed error:

Traceback (most recent call last):
  File "urllib3\connection.py", line 174, in _new_conn
  File "urllib3\util\connection.py", line 72, in create_connection
  File "socket.py", line 955, in getaddrinfo
socket.gaierror: [Errno 11001] getaddrinfo failed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "urllib3\connectionpool.py", line 703, in urlopen
  File "urllib3\connectionpool.py", line 386, in _make_request
  File "urllib3\connectionpool.py", line 1042, in _validate_conn
  File "urllib3\connection.py", line 363, in connect
  File "urllib3\connection.py", line 186, in _new_conn
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x000001CAA6F64F70>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "requests\adapters.py", line 489, in send
  File "urllib3\connectionpool.py", line 787, in urlopen
  File "urllib3\util\retry.py", line 592, in increment
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='giant.gfycat.com', port=443): Max retries exceeded with url: /EnchantingMiniatureChital.mp4 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001CAA6F64F70>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "utils\download_gfys.py", line 72, in start_download
  File "utils\download_gfys.py", line 182, in download_gfy
  File "requests\api.py", line 73, in get
  File "requests\api.py", line 59, in request
  File "requests\sessions.py", line 587, in request
  File "requests\sessions.py", line 701, in send
  File "requests\adapters.py", line 565, in send
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='giant.gfycat.com', port=443): Max retries exceeded with url: /EnchantingMiniatureChital.mp4 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001CAA6F64F70>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))

This makes sense because I can't access the link at all through the browser, and it seems like the Python script is trying to access site too?

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.