def twitterreq(url, method, parameters): """ Send twitter URL request Utility function used by the others in this package Note: calls a function twitter_credentials() contained in a file named twitter_credentials.py which must be provided individually by each user, which returns the values for: api_key api_secret access_token_key access_token_secret as a tuple in that order This is a modification of a shell provided by Bill Howe University of Washington for the Coursera course Introduction to Data Science Spring/Summer 2014 (which I HIGHLY recommend) """ import oauth2 as oauth import urllib2 as urllib # this is a private function containing my Twitter credentials from twitter_credentials import twitter_credentials api_key,api_secret,access_token_key,access_token_secret = twitter_credentials() _debug = 0 oauth_token = oauth.Token(key=access_token_key, secret=access_token_secret) oauth_consumer = oauth.Consumer(key=api_key, secret=api_secret) signature_method_hmac_sha1 = oauth.SignatureMethod_HMAC_SHA1() http_method = "GET" http_handler = urllib.HTTPHandler(debuglevel=_debug) https_handler = urllib.HTTPSHandler(debuglevel=_debug) ''' Construct, sign, and open a twitter request using the hard-coded credentials above. ''' req = oauth.Request.from_consumer_and_token(oauth_consumer, token=oauth_token, http_method=http_method, http_url=url, parameters=parameters) req.sign_request(signature_method_hmac_sha1, oauth_consumer, oauth_token) headers = req.to_header() if http_method == "POST": encoded_post_data = req.to_postdata() else: encoded_post_data = None url = req.to_url() opener = urllib.OpenerDirector() opener.add_handler(http_handler) opener.add_handler(https_handler) response = opener.open(url, encoded_post_data) return response
def twitterreq(url, method, parameters): """ Send twitter URL request Utility function used by the others in this package Note: calls a function twitter_credentials() contained in a file named twitter_credentials.py which must be provided as follows: api_key = " your credentials " api_secret = " your credentials " access_token_key = " your credentials " access_token_secret = " your credentials " return (api_key,api_secret,access_token_key,access_token_secret) This function is based on a shell provided by Bill Howe University of Washington for the Coursera course Introduction to Data Science Spring/Summer 2014 (which I HIGHLY recommend) """ import oauth2 as oauth import urllib2 as urllib import sys, time # this is a private function containing my Twitter credentials from twitter_credentials import twitter_credentials api_key,api_secret,access_token_key,access_token_secret = twitter_credentials() _debug = 0 oauth_token = oauth.Token(key=access_token_key, secret=access_token_secret) oauth_consumer = oauth.Consumer(key=api_key, secret=api_secret) signature_method_hmac_sha1 = oauth.SignatureMethod_HMAC_SHA1() http_method = "GET" http_handler = urllib.HTTPHandler(debuglevel=_debug) https_handler = urllib.HTTPSHandler(debuglevel=_debug) ''' Construct, sign, and open a twitter request using the hard-coded credentials above. ''' req = oauth.Request.from_consumer_and_token(oauth_consumer, token=oauth_token, http_method=http_method, http_url=url, parameters=parameters) req.sign_request(signature_method_hmac_sha1, oauth_consumer, oauth_token) headers = req.to_header() if http_method == "POST": encoded_post_data = req.to_postdata() else: encoded_post_data = None url = req.to_url() opener = urllib.OpenerDirector() opener.add_handler(http_handler) opener.add_handler(https_handler) try: response = opener.open(url, encoded_post_data) except: print "\n ERROR IN TWITTERREQ" print sys.exc_info() time.sleep(60) # wait 60 seconds # try one more time response = opener.open(url, encoded_post_data) return response
def twitterreq(url, method, parameters): """ Send twitter URL request Utility function used by the others in this package Note: calls a function twitter_credentials() contained in a file named twitter_credentials.py which must be provided as follows: api_key = " your credentials " api_secret = " your credentials " access_token_key = " your credentials " access_token_secret = " your credentials " return (api_key,api_secret,access_token_key,access_token_secret) This function is based on a shell provided by Bill Howe University of Washington for the Coursera course Introduction to Data Science Spring/Summer 2014 (which I HIGHLY recommend) """ import oauth2 as oauth import urllib2 as urllib # this is a private function containing my Twitter credentials from twitter_credentials import twitter_credentials api_key, api_secret, access_token_key, access_token_secret = twitter_credentials( ) _debug = 0 oauth_token = oauth.Token(key=access_token_key, secret=access_token_secret) oauth_consumer = oauth.Consumer(key=api_key, secret=api_secret) signature_method_hmac_sha1 = oauth.SignatureMethod_HMAC_SHA1() http_method = "GET" http_handler = urllib.HTTPHandler(debuglevel=_debug) https_handler = urllib.HTTPSHandler(debuglevel=_debug) ''' Construct, sign, and open a twitter request using the hard-coded credentials above. ''' req = oauth.Request.from_consumer_and_token(oauth_consumer, token=oauth_token, http_method=http_method, http_url=url, parameters=parameters) req.sign_request(signature_method_hmac_sha1, oauth_consumer, oauth_token) headers = req.to_header() if http_method == "POST": encoded_post_data = req.to_postdata() else: encoded_post_data = None url = req.to_url() opener = urllib.OpenerDirector() opener.add_handler(http_handler) opener.add_handler(https_handler) response = opener.open(url, encoded_post_data) return response
def twitterreq(url, method, parameters): """ Send twitter URL request (URL request meaning the URL you need to use in the API to get the data) Utility function used by the others in this package Note: calls a function twitter_credentials() contained in a file named twitter_credentials.py which must be provided as follows: api_key = " your credentials " api_secret = " your credentials " access_token_key = " your credentials " access_token_secret = " your credentials " return (api_key,api_secret,access_token_key,access_token_secret) This function is based on a shell provided by and further adapted by George Fisher (see link above) Bill Howe University of Washington for the Coursera course Introduction to Data Science Spring/Summer 2014 """ import oauth2 as oauth import urllib2 as urllib # this is a private function containing my Twitter credentials from twitter_credentials import twitter_credentials api_key,api_secret,access_token_key,access_token_secret = twitter_credentials() _debug = 0 oauth_token = oauth.Token(key=access_token_key, secret=access_token_secret) oauth_consumer = oauth.Consumer(key=api_key, secret=api_secret) signature_method_hmac_sha1 = oauth.SignatureMethod_HMAC_SHA1() http_method = "GET" http_handler = urllib.HTTPHandler(debuglevel=_debug) https_handler = urllib.HTTPSHandler(debuglevel=_debug) ''' Construct, sign, and open a twitter request using the hard-coded credentials above. ''' req = oauth.Request.from_consumer_and_token(oauth_consumer, token=oauth_token, http_method=http_method, http_url=url, parameters=parameters) req.sign_request(signature_method_hmac_sha1, oauth_consumer, oauth_token) headers = req.to_header() if http_method == "POST": encoded_post_data = req.to_postdata() else: encoded_post_data = None url = req.to_url() opener = urllib.OpenerDirector() opener.add_handler(http_handler) opener.add_handler(https_handler) response = opener.open(url, encoded_post_data) return response