Python 用于 Twitter 情绪分析的语法无效



这是我的错误...它位于第 58 行,内容如下:

"File "twitterstream.py", line 58
    print line.strip()
             ^
SyntaxError: invalid syntax

我该如何运行此程序?这一切都可以在 https://github.com/ujjwalkarn/Twitter-Sentiment-Analysis

import oauth2 as oauth
import urllib2 as urllib
# See assignment1.html instructions or README for how to get these credentials
api_key = "WzIbZ8ixUncBVyhLasVL42FKy"
api_secret = "BNSpY4OCEO4yN8COBpu32sQFByzLutFkzITiDe0kkx4bN5JDY2"
access_token_key = "2353880150-v4gBEPofeLjJWzoGSLMF80bPWuDMSeuetGSGFE8"
access_token_secret = "ydvDqQf3LkQ4EnP9pTIJKtrMMAn4ks5PNt3JKKr7nBpIZ"
_debug = 0
oauth_token    = oauth.Token(key=access_token_key, secret=access_token_secret)
oauth_consumer = oauth.Consumer(key=api_key, secret=api_secret)
signature_method_hmac_sha1 = oauth.SignatureMethod_HMAC_SHA1()
http_method = "GET"

http_handler  = urllib.HTTPHandler(debuglevel=_debug)
https_handler = urllib.HTTPSHandler(debuglevel=_debug)
'''
Construct, sign, and open a twitter request
using the hard-coded credentials above.
'''
def twitterreq(url, method, parameters):
  req = oauth.Request.from_consumer_and_token(oauth_consumer,
                                             token=oauth_token,
                                             http_method=http_method,
                                             http_url=url,
                                             parameters=parameters)
  req.sign_request(signature_method_hmac_sha1, oauth_consumer, oauth_token)
  headers = req.to_header()
  if http_method == "POST":
    encoded_post_data = req.to_postdata()
  else:
    encoded_post_data = None
    url = req.to_url()
  opener = urllib.OpenerDirector()
  opener.add_handler(http_handler)
  opener.add_handler(https_handler)
  response = opener.open(url, encoded_post_data)
  return response
def fetchsamples():
  url = "https://stream.twitter.com/1/statuses/sample.json"
  parameters = []
  response = twitterreq(url, "GET", parameters)
  for line in response:
    print line.strip()
if __name__ == '__main__':
  fetchsamples()

确保您使用的 python 版本与开发人员使用的版本匹配。如果你使用的是python 3,你需要使用print作为一个函数。

print(line.strip())

最新更新