【问题标题】:Extracting tweets using Python使用 Python 提取推文
【发布时间】:2017-10-21 09:06:45
【问题描述】:

我正在编写一个 Python 代码来从 Twitter 帐户中提取推文。我现在有点麻烦。

下面是我的代码(为此我删除了我的 cosumer 和访问 ID)

import csv
import tweepy
from tweepy import OAuthHandler

consumer_key = ''
consumer_secret = ''
access_token = ''
access_secret = ''

def get_all_tweets(screen_name):

    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_secret)
    api = tweepy.API(auth)

    alltweets = []  

    new_tweets = api.user_timeline(screen_name = screen_name,count=200)

    alltweets.extend(new_tweets)

    oldest = alltweets[-1].id - 1

    while len(new_tweets) > 0:
        print ("getting tweets before %s" % (oldest))

        new_tweets = api.user_timeline(screen_name = screen_name,count=200,max_id=oldest)

        alltweets.extend(new_tweets)

        oldest = alltweets[-1].id - 1

        print ("...%s tweets downloaded so far" % (len(alltweets)))

    outtweets = [[tweet.id_str, tweet.created_at, tweet.text.encode("utf-8")] for tweet in alltweets]

    with open('%s_tweets.csv' % screen_name, 'wb') as f:
        writer = csv.writer(f)
        writer.writerow(["id","created_at","text"])
        writer.writerows(outtweets)

    pass

if __name__ == '__main__':
    get_all_tweets("hello")

当我运行它时,我得到这个错误:

有人知道我哪里出错了吗?

【问题讨论】:

  • 检查文件的权限。 python程序好像打不开
  • @ThrowsException 我查看了我的文件的权限,并在“允许”下选中了所有框(“特殊权限”除外)。我应该把我正在谈论的内容截屏吗?
  • Windows 文件权限充其量是不确定的。尝试以管理员身份运行 python shell,看看是否可以缓解问题。
  • @ThrowsException 我明白了。我目前正在通过 Notepad++ 运行我的程序。我会尝试您的建议并回复您。
  • @ThrowsException 我刚刚在命令行上运行了我的文件,它已经输出了 csv 文件,但是里面没有内容。另外我得到一个稍微不同的错误。看看这里:i.imgbox.com/YxyiX3n0.png 有什么帮助吗?

标签: python python-3.x twitter python-3.6


【解决方案1】:

只需关闭您要写入的已打开文件。

这里是 hello_tweets.csv

【讨论】:

  • 你说的是包含我的python代码的文件吗?
  • 运行程序后不会创建 csv 文件。那个文件会打开!或者您将在同一目录中打开一个 hello_tweets.csv。尝试使用不同的 Twitter 帐户名称而不是“hello”。
  • 我尝试了不同的帐户名称 (RelicCastleCom),但仍然无法使用。我目前正在使用 Notepad++ 运行我的程序,您认为这可能是问题所在吗?
  • 我的代码现在正在输出一个 csv 文件,当我在命令行上运行它时,但 csv 文件是空的。另外我收到此错误:i.imgbox.com/YxyiX3n0.png 对此有何建议?
【解决方案2】:

检查您是否有打开文件的权限以及文件夹中的读/写权限。

我不推荐它,但如果您需要运行代码并且找不到问题,请尝试以管理员身份进行。

【讨论】:

  • 文件(包含我的代码)在我的电脑上。我会假设一切都应该没问题?另外,我如何以管理员身份运行代码?我目前正在通过 Notepad++ 运行我的代码
  • 如果您使用的是 notepad++ 插件,请以管理员身份运行 notepad++。您是在代码中创建文件,还是以用户身份创建文件然后运行代码?用python创建文件可能会解决它。
  • 我在一个文件中输入了一个代码并将该文件保存为 .py 文件。这是我如何运行文件的屏幕截图。 i.imgbox.com/bgg97Khf.png 这是运行文件的正确方法吗?
  • 我已经在命令行上运行了这个程序,它输出了一个 csv 文件,但是当我打开它时,它是空的。另外,我收到了这个错误:i.imgbox.com/YxyiX3n0.png你知道我哪里出错了吗?
  • 我不知道 writer.writerow() 是如何工作的,但你可以试试for out in outtweets: writer.write("%d\t%s\t%s\n" % (out[1], out[2], out[3]))。不过,这可能会增加计算时间,但我不确定 writelines 是如何工作的,所以我建议我知道的......
猜你喜欢
  • 2020-09-04
  • 1970-01-01
  • 1970-01-01
  • 2015-11-30
  • 2017-01-11
  • 2014-03-06
  • 2022-08-11
  • 1970-01-01
  • 2017-09-30
相关资源
最近更新 更多