使用python NameError获取推文

时间:2014-03-17 18:38:45

标签: python twitter

我是python中的首发。我想使用以下代码来使用python获取推文。

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 tweets

但在运行后我得到以下错误。

Traceback (most recent call last):
  File "E:\main project\python coding\sentisummarizer\twitter-reading\readingtest.py",      line 23, in <module>
    tweets = getData("messi");
  File "E:\main project\python coding\sentisummarizer\twitter-reading\readingtest.py",     line 19, in getData
    self.handleError(e)
NameError: global name 'self' is not defined

我该如何更正此错误?

1 个答案:

答案 0 :(得分:1)

您在模块级功能中使用self。您只应在类实例方法中使用self

替换

self.handleError(e)

handleError(e)

然后您需要在模块中定义handleError函数,例如:

def handleError(error):
  print error