Skip to main content

Scrape videos from YouTube channels.

Project description

YouTube Channel Scraper

Scrapes videos from a YouTube channel using Python.

It takes a YouTube channel URL as an input and produces a list of videos as an output.

Video attributes:

  • url
  • title
  • description
  • author
  • published_at
  • thumbnail

Requirements

Install chromedriver at /chromedriver. For more details refer to scripts/install_chromedriver.sh.

Alternatively you can use the library inside a Docker container. This way you don't need to manually install the chromedriver. Have a look at Usage with Docker.

Install

pip install youtube-channel-scraper

Usage

from youtube_channel_scraper.scraper import YoutubeScraper

scraper = YoutubeScraper(channel_url)
crawled_videos = scraper.scrape()

Optional parameters

  • stop_id: stop scraping when this video ID is encountered. Older videos are always scraped first.
  • max_videos: maximum amount of videos to scrape
  • proxy_ip: proxy IP with port

CLI usage

youtube-channel-scraper "https://www.youtube.com/channel/CHANNEL_ID"

Available arguments

positional arguments:
  channel_url           Youtube channel URL

optional arguments:
  -h, --help            show this help message and exit
  --filename FILENAME   Output file
  --stop_video_id STOP_VIDEO_ID
                        Youtube video ID that indicates to stop crawling
  --max_videos MAX_VIDEOS
                        Max videos to crawl
  --proxy PROXY         Proxy IP
  --screenshot_filename SCREENSHOT_FILENAME
                        Path to exceptions screenshot

Usage with Docker

Why?

When running youtube-channel-scraper in a Docker container there is no need to manually install chrome driver in your environment.

How?

git clone https://github.com/hajkr/youtube-channel-scraper.git
cd youtube_channel_scraper

# Run the container and build it when running for the first time
make run

# Enter the container
make to_container

python youtube_channel_scraper "https://www.youtube.com/channel/CHANNEL_ID"

Project details


Download files

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

Source Distribution

youtube-channel-scraper-0.1.3.tar.gz (4.7 kB view hashes)

Uploaded Source

Built Distribution

youtube_channel_scraper-0.1.3-py2.py3-none-any.whl (5.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page