所以我从twitter那里获得了一些数据。我想跟踪youtube网址,我遇到了一些问题。 我在网上看了很多,包括这里,我得出结论,这是因为我必须做百分比编码。
所以我使用了urllib.quote和quote_plus,没有运气。
这基本上是我的代码:(跟踪google.com/images使其变得简单):
import json
import tweepy
import ast
import time
import datetime
import random
import urllib
#API Auth with the keys above
auth = tweepy.OAuthHandler(xxxx, xxxxxx)
auth.set_access_token(xxxxxxx, xxxxxxxx)
api = tweepy.API(auth)
print "connected"
class CustomStreamListener(tweepy.StreamListener):
def __init__(self, api):
self.api = api
super(tweepy.StreamListener, self).__init__()
def on_data(self, tweet):
tweet_data = json.loads(tweet)
print tweet_data
def on_error(self, status_code):
print "error"
print status_code
return True # Don't kill the stream
def on_timeout(self):
print "time out"
return True # Don't kill the stream
track_link = urllib.quote_plus('google.com/images', safe=".").decode('utf-8')
print track_link
sapi = tweepy.streaming.Stream(auth, CustomStreamListener(api))
sapi.filter(follow=[track_link])
我相信这可能是因为写了tweepy源代码的方式: https://github.com/tweepy/tweepy/blob/master/tweepy/streaming.py
如果向下滚动到“过滤器”的定义,您可以看到链接在转到twitter之前以UTF-8编码。这是问题吗?