Advertisement
lil_blizzard

Untitled

Aug 16th, 2019
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.78 KB | None | 0 0
  1. import wikipedia
  2. import tweepy
  3. import random
  4. import urllib.request
  5.  
  6. def twitter_api():
  7.     twitter_consumer_key = ''
  8.     twitter_consumer_secret = ''
  9.  
  10.     twitter_access_token = ''
  11.     twitter_access_secret = ''
  12.  
  13.     auth = tweepy.OAuthHandler(twitter_consumer_key, twitter_consumer_secret)
  14.     auth.set_access_token(twitter_access_token, twitter_access_secret)
  15.     api = tweepy.API(auth)
  16.     return api
  17.  
  18. def get_pages_and_pictures():
  19.     #get two random wikipedia articles
  20.     random_pages = wikipedia.random(2)
  21.     #init empty list
  22.     pages_and_pictures = []
  23.  
  24.     for page in random_pages:
  25.         #set picture to first image on page
  26.         picture_url = wikipedia.page(page).images[0]
  27.         #append both page name & picture to our list
  28.         pages_and_pictures.append(page)
  29.         pages_and_pictures.append(picture_url)
  30.         #download image with JPG extenstion
  31.         #attempt to ensure photo is jpg and article has enough images
  32.         while True:
  33.             if picture_url[-4] == '.jpg' and len(wikipedia.page(page).images) > 2:
  34.                 urllib.request.urlretrieve(picture_url, page + picture_url[-4:])
  35.                 break
  36.             else:
  37.                 picture_url = wikipedia.page(wikipedia.random(1)).images[0]
  38.  
  39.     #return our list
  40.     return pages_and_pictures
  41.  
  42. def assemble_tweet(tweet_assembly_list):
  43.     tweet_string = ''
  44.     tweet_string += tweet_assembly_list[0] + ', ' + tweet_assembly_list[2]
  45.     return tweet_string
  46.  
  47. while True:
  48.     try:
  49.         api = twitter_api()
  50.  
  51.         tweet_list = get_pages_and_pictures()
  52.         final_tweet = assemble_tweet(tweet_list)
  53.         print(final_tweet)
  54.         api.update_status(final_tweet)
  55.         break
  56.     except wikipedia.exceptions.DisambiguationError as e:
  57.         print(e.options)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement