Coder Social home page Coder Social logo

yt-playlist-analyzer's Introduction

YouTube Playlist Analyzer

YouTube doesn't provide a direct way to filter playlists based on their overall durations, which can be crucial when searching for tutorials, courses, or academic lessons. For instance, you may want to find a lesson with at least 4 hours of content. Moreover, many channels that offer technical and informative content remain undiscovered due to low views. In summary, YouTube's algorithms aren't optimized for academic searching.

Purpose

To address this limitation, the YouTube Playlist Analyzer project introduces a more convenient way to discover courses and playlists. Playlists are ordered by the ratio of likes/views, ensuring that even small channels have a chance to be discovered. Additionally, a duration filter is implemented, which is currently lacking in YouTube's native search functionality for playlists.

Features

  • Playlist Duration Filter: Users can specify the minimum and maximum duration of playlists they're searching for, enabling them to find content of appropriate length.
  • Likes/Views Ratio Sorting: Playlists are sorted based on their likes/views ratio, allowing users to discover high-quality content regardless of the channel's popularity.
  • Flask Web Interface: The project provides a minimalistic web interface built with Flask, making it easy for users to search for playlists and view the results.

Additional Features

  • Calculate Duration of a Given Playlist: Users can quickly calculate the overall duration of a specific playlist. If a playlist is found, this feature provides a convenient way to determine its total duration.

Future Enhancements

  • Comment Analysis: Analyze comments within playlists to provide insights into user feedback, sentiment analysis, and topic relevance.
  • Language and Accent Filtering: Implement features to filter playlists based on the language of the content and accents of the speakers. This will help users find content in their preferred language or accent.

Getting Started

Prerequisites

  • Python 3.x
  • Google API Key (for accessing YouTube Data API)
  • Flask (for running the web interface)

Installation

  1. Clone the repository:

    git clone https://github.com/BlcMed/yt-playlist-analyzer.git
  2. Install the required dependencies:

    pip install -r requirements.txt
  3. Set up your Google API Key by following the instructions here.

  4. Rename the .env.sample file to .env:

    mv .env.sample .env
  5. Open the .env file and fill in your Google API Key:

    API_KEY=your_google_api_key

Usage

  1. Run the Flask application:

    python app.py
  2. Open your web browser and navigate to http://localhost:5000 to access the application.

  3. Enter the tutorial name and specify the desired duration filter (minimum and maximum).

  4. Click on the "Search" button to retrieve the results.

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests to improve the project.

License

This project is licensed under the terms of the GNU Lesser General Public License v3.0, a copy of which is included in the repository.

yt-playlist-analyzer's People

Contributors

blcmed avatar

Watchers

 avatar

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.