-
-
Save ErisBlastar/6144424 to your computer and use it in GitHub Desktop.
Fixes UTF-8 UNICODE character problem when pulling text from Tweets to stop an error.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Original by James Morris JMOZ at: http://blog.jmoz.co.uk/increase-your-twitter-followers/ | |
# Modified by Eris Blastar http://iwethey.neocities.org/ [email protected] to encode UTF-8 strings in case | |
# of foriegn language and odd characters. PS you will need Python 2.7 as Python 3.X won't work | |
# and of course the Twitter library https://pypi.python.org/pypi/twitter | |
# plus the setuptool to install the library the Windows version is here: http://www.lfd.uci.edu/~gohlke/pythonlibs/ | |
# You need your API key from https://dev.twitter.com/discussions/631 and make sure it isn't set to | |
# read-only when you make the access token. | |
# Good luck, Eris. | |
from twitter import Twitter, OAuth, TwitterHTTPError | |
# -*- coding: utf-8 -*- | |
import sys | |
OAUTH_TOKEN = 'foo' | |
OAUTH_SECRET = 'bar' | |
CONSUMER_KEY = 'baz' | |
CONSUMER_SECRET = 'bat' | |
t = Twitter(auth=OAuth(OAUTH_TOKEN, OAUTH_SECRET, CONSUMER_KEY, CONSUMER_SECRET)) | |
print sys.stdout.encoding | |
def search_tweets(q, count=100, max_id=None): | |
return t.search.tweets(q=q, result_type='recent', count=count, lang="en", max_id=max_id) | |
def favorites_create(tweet): | |
try: | |
result = t.favorites.create(_id=tweet['id']) | |
print "Favorited: %s, %s" % (result['text'].encode(sys.stdout.encoding, errors='replace'), result['id']) | |
return result | |
except TwitterHTTPError as e: | |
print "Error: ", e | |
return None | |
def search_and_fav(q, count=100, max_id=None): | |
result = search_tweets(q, count, max_id) | |
first_id = result['statuses'][0]['id'] | |
last_id = result['statuses'][-1]['id'] | |
success = 0 | |
for t in result['statuses']: | |
if favorites_create(t) is not None: | |
success += 1 | |
print "Favorited total: %i of %i" % (success, len(result['statuses'])) | |
print "First id %s last id %s" % (first_id, last_id) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Put this code into a file named tweetbot.py:
import twitter_favouriter
twitter_favouriter.search_and_fav('#ebook', 100)
Then save it and run it like this:
python tweetbot.py
In the same directory that you save this gist as
twitter_favouriter.py
Then file for an API keyset from Twitter and fill in the foo and bar etc settings to your account.
Change #ebook to any hashtag you want to retweet tweets for.