- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
总体而言,对于使用 tweepy 和 Twitter 的 API 来说是全新的,并且我意识到(为时已晚)我在收集一些 Twitter 数据时犯了一些错误。我一直在收集有关冬季奥运会的推文,并使用 Streaming API 按搜索词进行过滤。但是,我没有检索所有可用数据,而是仅检索了文本、日期时间和推文 ID。实现的流监听器的示例如下:
import os
import sys
import tweepy
os.chdir('/my/preferred/location/Twitter Olympics/Data')
consumer_key = 'cons_key'
consumer_secret = 'cons_sec'
access_token = 'access_token'
access_secret = 'access_sec'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)
# count is used to give an approximation of how many tweets I'm pulling at a given time.
count = []
f = open('feb24.txt', 'a')
class StreamListener(tweepy.StreamListener):
def on_status(self, status):
print 'Running...'
info = status.text, status.created_at, status.id
f.write(str(info))
for i in info:
count.append(1)
def on_error(self, status_code):
print >> sys.stderr, "Encountered error with status code: ", status_code
def on_timeout(self):
print >> sys.stderr, "Timeout..."
return True
sapi = tweepy.streaming.Stream(auth, StreamListener())
sapi.filter(track=["olympics", "olympics 2014", "sochi", "Sochi2014", "sochi 2014", "2014Sochi", "winter olympics"])
存储在 .txt
中的输出示例文件在这里: ('RT @Visa: There can only be one winner. Soak it in #TeamUSA, this is your #everywhere #Sochi2014 <a href="http://t.co/dVKYUln1r7" rel="noreferrer noopener nofollow">http://t.co/dVKYUln1r7</a>', datetime.datetime(2014, 2, 15, 18, 9, 51), 111111111111111111)
.
所以,这是我的问题。如果我能够在列表中获取推文 ID,是否有办法迭代这些 ID 以查询 Twitter Rest API 并检索完整的 JSON 文件?我的预感是肯定的,但我不确定实现,主要是如何将结果数据保存为 JSON 文件(因为我在这里一直使用 .txt 文件)。预先感谢您的阅读。
最佳答案
想通了。对于犯过这个可怕错误的人(只需获取所有数据即可!),这里有一些带有正则表达式的代码,可以提取 ID 号并将其存储为列表:
import re
# Read in your ugly text file.
tweet_string = open('nameoffile.txt', 'rU')
tweet_string = tweet_string.read()
# Find all the id numbers with a regex.
id_finder = re.compile('[0-9]{18,18}')
# Go through the twee_string object and find all
# the IDs that meet the regex criteria.
idList = re.findall(id_finder, tweet_string)
现在您可以迭代列表 idList
并将每个 ID 作为对 api 的查询提供(假设您已完成身份验证并拥有 api 类的实例)。然后您可以将它们附加到列表中。像这样的东西:
tweet_list = []
for id in idList:
tweet = api.get_status(id)
tweet_list.append(tweet)
重要提示:tweet_list
变量中将附加一个 tweepy 状态对象
。我需要找到解决方法,但上述问题已经解决。
关于python - 使用 Rest API 和 Tweepy 从推文下载完整的 JSON 数据,通过推文 ID 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21996982/
有人知道如何使用 tweepy 模块中的 search_full_archive 功能吗?我使用了类似于常规搜索的光标功能,但它不起作用。 import tweepy as tw api_key =
有人知道如何使用 tweepy 模块中的 search_full_archive 功能吗?我使用了类似于常规搜索的光标功能,但它不起作用。 import tweepy as tw api_key =
我正在使用此功能从 id 获取所有关注者: def getAllFollowers(id): followers = tweepy.Cursor(api.followers, id = id)
我在 Anacondas Python 3.3 中安装 Tweepy 时遇到问题。 首先,我转到了 Python 3.3 安装的脚本目录。然后我跑了 easy_install tweepy 如果我在默
当我尝试使用 tweepy 进行 Twitter 身份验证时,出现以下错误。 File "/usr/local/lib/python2.7/dist-packages/tweepy/models.
我安装了 pip install tweepy 并且安装没有错误。 Requirement already satisfied: tweepy in /Library/Python/2.7/site-
我在 PyCharm ed 4 中编写了这个 tweepy 源代码。 from __future__ import absolute_import, print_function from tweep
我在尝试在我的代码中导入 tweepy 库时遇到问题,我尝试卸载它然后重新安装它,但我仍然遇到同样的问题。 这是我的代码(错误)和命令行: 谢谢。 最佳答案 Tweepy 还不适用于 python 3
我正在尝试获取用户的 friend 并将他们附加到给定条件的列表中: for friend in tweepy.Cursor(api.friends).items(): if friend n
我正在尝试将 Twitter API 的版本 2 与 tweepy 3.10.0 一起使用,但在遵循文档 https://docs.tweepy.org/en/latest/client.html 时
通过应用 tweepy.Cursor 和 api.search 方法(如下所示),Tweepy 在提取我需要的所有其他信息(主题标签除外)方面做得很好。我从文档中知道 Hashtags 在这个结构状态
TheStreamer.filter(languages=["en"], track=['Bruno Mars is lovely']) 有没有办法让它跟踪一个确切的短语,而不是相关的短语?例如, '
我有以下代码 api = tweepy.API(auth,wait_on_rate_limit=True) for tweet in tweepy.Cursor(api.search,
我最近一直在玩 tweepy,我试图拉动给定用户的关注者和关注者。 followingids = [] followids = [] userid = "Someone"#sets target
我想提取所有国家/地区的所有阿拉伯语推文。 我修改了这个 tutorial中的代码。这是我的搜索查询。api.search(q="*", count=tweetsPerQry, lang ['ar']
我想提取所有国家/地区的所有阿拉伯语推文。 我修改了这个 tutorial中的代码。这是我的搜索查询。api.search(q="*", count=tweetsPerQry, lang ['ar']
当我尝试调用一些方法(例如 show_friendship)时,我收到错误 raise TweepError(error_msg, resp, api_code=api_error_code) twe
我正在使用 tweepy 访问大量推文。许多推文都被截断了,所以我想获取一些推文的全文,我有这些推文的 id。 我的问题是:tweepy api 实例有一种一次下载多条推文的方法 (api.statu
我正在尝试让我的机器人能够通过搜索 API 搜索多个关键字。到目前为止我已经: f = open('swear.txt', 'r') search = f.read().splitlines() f.
我想跟踪特定主题标签的所有推文,但我只需要带有地理位置的推文。此行无法正常工作,结果都是带有地理位置的推文。 stream.filter(track=["hashtag"],locations = G
我是一名优秀的程序员,十分优秀!