如何在python中使用twitter API获取推文?
我是python的初学者。我使用以下代码根据输入查询获取tweet如何在python中使用twitter API获取推文?,python,twitter,Python,Twitter,我是python的初学者。我使用以下代码根据输入查询获取tweet import urllib import urllib2 import json def getData(keyword): url = 'http://search.twitter.com/search.json' data = {'q': keyword, 'lang': 'en', 'result_type': 'recent'} params = urllib.urlencode(data)
import urllib
import urllib2
import json
def getData(keyword):
url = 'http://search.twitter.com/search.json'
data = {'q': keyword, 'lang': 'en', 'result_type': 'recent'}
params = urllib.urlencode(data)
try:
req = urllib2.Request(url, params)
response = urllib2.urlopen(req)
jsonData = json.load(response)
tweets = []
for item in jsonData['results']:
tweets.append(item['text'])
return tweets
except urllib2.URLError, e:
self.handleError(e)
return tweets
tweets = getData("messi")
print tweet
但是我在上面的代码中得到了以下错误。
名称错误:未定义全局名称“self”。如何更正此错误?如前所述,首先需要从代码中删除self.
。
然后您可能会得到另一个错误,因为handleError函数没有在代码中的任何地方定义。因此,如果尚未定义handleError函数,则还必须定义它
看看python,了解更多关于类和对象的信息
import urllib
import urllib2
import json
#defining handleError
def handleError(e):
#Error Handling code goes here
def getData(keyword):
url = 'http://search.twitter.com/search.json'
data = {'q': keyword, 'lang': 'en', 'result_type': 'recent'}
params = urllib.urlencode(data)
try:
req = urllib2.Request(url, params)
response = urllib2.urlopen(req)
jsonData = json.load(response)
tweets = []
for item in jsonData['results']:
tweets.append(item['text'])
return tweets
except urllib2.URLError, e:
handleError(e) #removed self.
return tweets
tweets = getData("messi")
print tweet
我猜你是在网上找到这个函数的,它是一个类的一部分。您可以删除
self.
并编写一个名为handleError
的函数来处理此问题。您应该查看twitter
包,它位于pip上。这根本不起作用,因为REST API v1已被弃用。如果不想自己处理整个OAuth过程,您需要通过OAuth-->进行身份验证,请查看其中一个Twitter包