Skip to content

Instantly share code, notes, and snippets.

@ColtonPhillips
Created July 22, 2014 14:59
Show Gist options
  • Save ColtonPhillips/1aaf0587a4e960e13a58 to your computer and use it in GitHub Desktop.
Save ColtonPhillips/1aaf0587a4e960e13a58 to your computer and use it in GitHub Desktop.
Flings out links super neat like.
import tweepy
from bs4 import BeautifulSoup
import httplib2
from urllib2 import urlopen
from random import choice
import random
import json
random.seed()
consumer_key=''
consumer_secret=''
access_token_key=''
access_token_secret=''
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token_key, access_token_secret)
bot = tweepy.API(auth)
call = """https://www.googleapis.com/youtube/v3/playlistItems?part=snippet,status&maxResults=50&playlistId=UUlSDKoY1WhorUhonJbdT0-Q&key={API_KEY}"""
def get_more(nextPageToken):
new_call = call + "&pageToken=" + nextPageToken
h = httplib2.Http(".cache")
(resp_headers, content) = h.request(new_call,"GET")
data = json.loads(content)
return data
keepers = []
h = httplib2.Http(".cache")
(resp_headers, content) = h.request(call,"GET")
data = json.loads(content)
for item in data['items']:
keepers.append((item['snippet']['title'], item['snippet']['resourceId']['videoId']))
while ('nextPageToken' in data):
data = get_more(data['nextPageToken'])
for item in data['items']:
keepers.append((item['snippet']['title'], item['snippet']['resourceId']['videoId']))
my_choice = choice(keepers)
my_url = "https://www.youtube.com/watch?v=" + my_choice[1]
my_title = my_choice[0]
tweet = '{title}: {link}'.format(title=my_title, link=my_url)
bot.update_status(tweet)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment