首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tweepy.Cursor将无关的搜索结果返回给我选择的查询。

tweepy.Cursor将无关的搜索结果返回给我选择的查询。
EN

Stack Overflow用户
提问于 2020-10-04 09:14:48
回答 1查看 1.1K关注 0票数 1

作为硕士学位的一部分,我需要从Twitter收集数据,以供将来的机器学习模型使用。

有什么问题吗?

我试图获得带有给定的主题标签(#)的tweet,这是一个非常简单的东西,比如#climatechange,,因此,正如我从堆栈溢出的其他问题中了解到的那样,我需要添加q参数,并在那里传递“气候变化”字符串。

以下是代码:

代码语言:javascript
复制
# Loads JSON Credentials.
twitter_credentials_json = load_twitter_credentials('TwitterCredentials.json')

# Creates tweepy.API object.
auth = tweepy.OAuthHandler(twitter_credentials_json['consumer_key'], twitter_credentials_json['consumer_secret'])
auth.set_access_token(twitter_credentials_json['access_token'], twitter_credentials_json['access_token_secret'])
api = tweepy.API(auth, wait_on_rate_limit=True)

data_list = []

# Iterates through the required tweets and adds them to the list.
for tweet in tweepy.Cursor(api.search, q="#climatechange", since="2020-01-01", until="2020-10-01").items(100):
  data_list.append(tweet._json)
# Drops everything to the file system.
with open(f"Tweets {get_datetime_as_string()}.json", 'w', encoding='utf8') as outfile:
  outfile.write(json.dumps(data_list))
  outfile.close()

正如你所看到的,我在Twitter上搜索,我需要每一个包含字符串“气候变化”的文本,从2020-01-01,到2020-10-01,我需要100个条目。现在我打开JSON文件,在JSON文件中看到一些不相关的tweet,它不包含“气候变化”文本。我决定检查我从tweepy收到的整个对象,也没有提到任何地方都有“气候变化”字符串。

例如:

"text":"RT @BetteMidler:#共和党无法治理。请记住,他们主持了#9-11、#伊拉克战争、2008年#大衰退,以及当他们返回t\u 2026“文本”文本“时:"RT @DeWayne_Fulton:#德州可以在能源创新方面发挥领导作用-安全、清洁、高效、可再生能源。\n@Lizzie4国会知道这是第2026年”,

概括地说,到目前为止:

我通过特定的conditions.

  • I从twitter上获得推特消息,并将它们保存到文件系统中。them.

中,

  • 打开JSON文件,大约10%的tweet没有“#气候变化”字符串。

我想解决这个问题的是什么?

当然,我尝试做的第一件事是为游标对象发布官方文档,但我在那里没有发现任何有用的东西,我甚至没有找到Q参数或其他任何东西,尽管许多堆栈溢出解决方案都使用这些参数。文档似乎没有完整地写好或者缺少了很多东西,documentation?哪里出了问题?

如果有人也有这个问题,我会在Stack

  • 和更多的站点上搜索,但是我没有发现任何相关的东西。

  1. 我在StackOverflow搜索tweepy.Cursor解决方案来调整我的参数,我尝试添加一些参数,删除一些但仍然没有。

  1. 我试着使用tweepy.Cursor GitHub代码来理解它是如何工作的,但是我没有完全理解它是如何工作的,所以没有成功。

正如我所理解的,一旦我用一些字符串指定了"q“参数,它就会搜索包含这个查询参数的字符串,并且只返回有效的tweet,但是在我看来,存在一些问题,它返回不相关的tweet。

我很乐意得到一些帮助,或者如果你能告诉我我错过了什么,我肯定这是我错过的一些小东西,这也是我没有得到正确数据的原因。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-04 13:27:09

看起来不相关的Tweets很可能被截断为140个字符,搜索的文本位于“extended”部分。如果将tweet_mode=extended添加到api.search调用中,那么它将检索扩展Tweets的full_text字段中的完整Tweet文本。

您还应该意识到,遗留的标准Twitter (这是api.search正在调用的)只支持在过去7天内进行搜索。在较长的一段时间内,您将需要使用Twitter溢价30天或完整存档的搜索API。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64192892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档