View score_div_days.py
# Adding days since published into custom score | |
def custom_score(viewcount, ratio, days_since_published): | |
if ratio > 5: | |
ratio = 5 | |
score = (viewcount * ratio) / days_since_published | |
return score |
View restrict_search_period.py
# Function to create string for search start date | |
def get_start_date_string(search_period_days): | |
"""Returns string for date at start of search period.""" | |
search_start_date = datetime.today() – timedelta(search_period_days) | |
date_string = datetime(year=search_start_date.year,month=search_start_date.month, | |
day=search_start_date.day).strftime(‘%Y-%m-%dT%H:%M:%SZ’) | |
return date_string | |
# Creating date string and executing search | |
date_string = get_start_date_string(7) |
View ratio_restricted.py
# Calculating ratio while removing edge cases (of low views or low subscribers) | |
def custom_score(viewcount, ratio, days_since_published): | |
ratio = min(ratio, 5) | |
score = (viewcount * ratio) | |
return score |
View view_to_sub_ratio.py
# Function to calculate view-to-sub ratio | |
def view_to_sub_ratio(viewcount, num_subscribers): | |
if num_subscribers == 0: | |
return 0 | |
else: | |
ratio = viewcount / num_subscribers | |
return ratio |
View published_at.py
publishedAt = results[‘items’][0][‘snippet’][‘publishedAt’] |
View yt_api_call.py
# Call the YouTube API | |
api_key = ‘AIzpSyAq3L9DiPK0KxrGBbdY7wNN7kfPbm_hsPg’ # Enter your own API key – this one won’t work | |
youtube_api = build(‘youtube’, ‘v3’, developerKey = api_key) | |
results = youtube_api.search().list(q=search_terms, part=’snippet’, type=’video’, | |
order=’viewCount’, maxResults=50).execute() |
View video_finder.py
from datetime import datetime, timedelta | |
# creating variable for time one week ago | |
today_date = datetime.today() | |
one_week_ago_date = today_date - timedelta(7) | |
one_week_ago_string = datetime(year=one_week_ago_date.year,month=one_week_ago_date.month, | |
day=one_week_ago_date.day).strftime('%Y-%m-%dT%H:%M:%SZ') | |
# updating the search by adding 'publishedAfter' |
View video_finder.py
import pandas as pd | |
def find_title(item): | |
title = item['snippet']['title'] | |
return title | |
def find_viewcount(item, youtube_api): | |
video_id = item['id']['videoId'] | |
video_statistics = youtube_api.videos().list(id=video_id, part='statistics').execute() | |
viewcount = int(video_statistics['items'][0]['statistics']['viewCount']) |
View video_finder.py
from apiclient.discovery import build | |
api_key='AIzaKyAq3L9BiVO0PXrGBhhY0cNN9fkPmm_BsPg' # (not a real API key) | |
youtube_api = build('youtube','v3', developerKey=api_key) | |
# Search videos | |
video_search_results = youtube_api.search().list(q='productivity', part='snippet', type='video', | |
order='viewCount', maxResults=50).execute() | |
# Search channels |
View job_scraper.py
def make_job_search(job_title, location, driver): | |
driver.get('https://www.cwjobs.co.uk/') | |
# Select the job box | |
job_title_box = driver.find_element_by_name('Keywords') | |
# Send job information | |
job_title_box.send_keys(job_title) | |
# Selection location box |
NewerOlder