1

我在编码字符“/”时遇到了很多麻烦,以便在带有 twython 的流式 twitter api 中使用它。尝试不使用编码时,“EUR/USD”会给出错误代码401。请注意,对于其他搜索查询,它可以正常工作并且不会产生此错误。

我已经尝试以几种方式做到这一点。第一的:

'EUR/USD'.replace('/','%2F')

但搜索没有返回任何内容。

我也试过:

urllib.quote('EUR/USD', '')

虽然 print 的输出是相同的 (EUR%2FUSD),但搜索仍然没有返回任何结果。

最后我尝试了双重编码:

urllib.quote(urllib.quote('EUR/USD', ''),'')

我在哪里得到 EUR%252FUSD 但仍然没有结果。

此外,当仅搜索 EURUSD 时,搜索确实可以正常工作,但仅当它在推文本身中以符号 $(例如 $EURUSD)开头时。如果美元符号丢失,搜索也不会检测到推文。(例如只是欧元美元)

这是它的工作原理:

querystring = 'EURUSD'

auth = tweepy.OAuthHandler('key','secret')
auth.set_access_token('key','secret')
api = tweepy.API(auth)

class CustomStreamListener(tweepy.StreamListener):
    def on_status(self, status):
        pprint.pprint([status.user.name,removeNonAscii(status.text),status.lang])

    def on_error(self, status_code):
        print >> sys.stderr, 'Encountered error with status code:', status_code
        return True # Don't kill the stream

    def on_timeout(self):
        print >> sys.stderr, 'Timeout...'
        return True # Don't kill the stream

sapi = tweepy.streaming.Stream(auth, CustomStreamListener())
sapi.filter(track=querystring, languages=['en'])

任何人都知道这里可能会发生什么?

4

0 回答 0