Twython - 在文本文件中保存推文 ID
Twython - Saving Tweet IDs in a Text File
我是 Python 的新手,但到目前为止我一直很喜欢它。我一直在尝试使用 Twython 编写代码,将与我的搜索查询匹配的所有推文的推文 ID 作为变量保存在文件中。
我发现我可以使用以下代码打印与我的搜索查询相关的所有 ID:
import sys
from twython import Twython
APP_KEY='XXXXXXXX'
APP_SECRET='XXXXXXXX'
OAUTH_TOKEN='XXXXXXXX'
OAUTH_TOKEN_SECRET='XXXXXXXX'
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
I = 12345678910
result = twitter.search(q='WhateverImLooking4', since_id=str(I), count=100)
for item in result['statuses']:
print(item['id_str'].encode('ascii', 'ignore'))
现在,当我将最后两行改为:
for item in result['statuses']:
f = open('Results.txt','w')
f.write(item['id_str'].encode('ascii', 'ignore'))
f.close()
它只会将最小的 ID 号保存到文本文件中。我希望能够将所有结果保存到一个文件中,并且理想情况下是作为变量准备好在另一个 python 代码中使用。
希望这一切都有意义!
谢谢!!
这是因为您每次执行 for 循环时都会打开文件并覆盖之前的 ID。
尝试在 for 循环之前打开文件:
f = open('Results.txt','w')
for item in result['statuses']:
f.write(item['id_str'].encode('ascii', 'ignore') + "\n")
f.close()
在 Matt Salzman 的帮助下,答案已经实现。
f = open('Results.py', 'w')
i = 1
for item in result['statuses']:
f.write("x" + str(i) + " = " + item['id_str'].encode('ascii', 'ignore') + "\n")
i = i + 1
f.close()
这会在循环之前打开文件,从而防止每个结果从 over-writing 另一个 & "\n" 逐行分解结果。变量"i"用于每次循环实现不同的变量运行每个结果(即x1,x2,x3...xn)。
谢谢!
我是 Python 的新手,但到目前为止我一直很喜欢它。我一直在尝试使用 Twython 编写代码,将与我的搜索查询匹配的所有推文的推文 ID 作为变量保存在文件中。
我发现我可以使用以下代码打印与我的搜索查询相关的所有 ID:
import sys
from twython import Twython
APP_KEY='XXXXXXXX'
APP_SECRET='XXXXXXXX'
OAUTH_TOKEN='XXXXXXXX'
OAUTH_TOKEN_SECRET='XXXXXXXX'
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
I = 12345678910
result = twitter.search(q='WhateverImLooking4', since_id=str(I), count=100)
for item in result['statuses']:
print(item['id_str'].encode('ascii', 'ignore'))
现在,当我将最后两行改为:
for item in result['statuses']:
f = open('Results.txt','w')
f.write(item['id_str'].encode('ascii', 'ignore'))
f.close()
它只会将最小的 ID 号保存到文本文件中。我希望能够将所有结果保存到一个文件中,并且理想情况下是作为变量准备好在另一个 python 代码中使用。
希望这一切都有意义!
谢谢!!
这是因为您每次执行 for 循环时都会打开文件并覆盖之前的 ID。
尝试在 for 循环之前打开文件:
f = open('Results.txt','w')
for item in result['statuses']:
f.write(item['id_str'].encode('ascii', 'ignore') + "\n")
f.close()
在 Matt Salzman 的帮助下,答案已经实现。
f = open('Results.py', 'w')
i = 1
for item in result['statuses']:
f.write("x" + str(i) + " = " + item['id_str'].encode('ascii', 'ignore') + "\n")
i = i + 1
f.close()
这会在循环之前打开文件,从而防止每个结果从 over-writing 另一个 & "\n" 逐行分解结果。变量"i"用于每次循环实现不同的变量运行每个结果(即x1,x2,x3...xn)。
谢谢!