从 twitter api python 收集推文

Posted

技术标签:

【中文标题】从 twitter api python 收集推文【英文标题】:gathering tweets from twitter api python 【发布时间】:2014-03-08 12:58:47 【问题描述】:

我正在尝试运行此脚本以从 twitter 收集推文,但它不会运行,它一直说语法无效。我想收集推文并将它们保存到亚马逊实例,但目前它不会运行,我已经创建了所有推特密钥和访问令牌并将其插入到下面的脚本中

Python 3.3.4(v3.3.4:7ff62415e426,2014 年 2 月 10 日,18:13:51)[MSC v.1600 64 位 (AMD64)] 在 win32 上 输入“copyright”、“credits”或“license()”了解更多信息。

>>> import oauth2 as oauth
import urllib2 as urllib



access_token_key = "****"
access_token_secret = "******"

consumer_key = "******"
consumer_secret = "******"

_debug = 0

oauth_token    = oauth.Token(key=access_token_key, secret=access_token_secret)
oauth_consumer = oauth.Consumer(key=consumer_key, secret=consumer_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()

【问题讨论】:

请发布回溯 我只是个初学者,你说的tracback是什么意思? 见***文章traceback 不会显示任何回溯,当通过单击 f5 运行代码时只会说 inlvaid 语法 如果您使用的是 IDLE,则在按 f5 后,语法无效的行应以红色突出显示。 【参考方案1】:

由于这三个大于号,代码的第一行包含语法错误:

$ cat z.py
>>> import oauth2 as oauth
$ python z.py
  File "z.py", line 1
    >>> import oauth2 as oauth
     ^
SyntaxError: invalid syntax

【讨论】:

以上是关于从 twitter api python 收集推文的主要内容,如果未能解决你的问题,请参考以下文章

在 python 中理解 Twitter Premium API 沙盒

Twitter API 如何获取最新推文 | Python

Python API:使用没有文件的媒体发推文

将使用 Python 从 Twitter 检索到的数据保存到文本文件中?

twitter 示例 API 提供了多少百分比的推文?

PHP 使用PHP从Twitter搜索API到MySQL数据库保存推文