【问题标题】:How to get all tweets containing a certain username or name如何获取包含特定用户名或名称的所有推文
【发布时间】:2020-03-08 10:33:35
【问题描述】:

我正在使用 tweepy 库编写代码来收集包含特定用户 ID 的所有推文。对于此示例,假设我想查找与 Austrian Airlines 相关的所有推文

我会做些什么来实现这个目标(假设我可以访问 twitter API)是这样的:

import pandas as pd
import numpy as np
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
from tweepy import API
from tweepy import Cursor

auth = OAuthHandler(twitter_credentials['CONSUMER_KEY'], twitter_credentials['CONSUMER_SECRET'])
auth.set_access_token(twitter_credentials['ACCESS_TOKEN'], twitter_credentials['ACCESS_TOKEN_SECRET'])
api = API(auth,wait_on_rate_limit=True,wait_on_rate_limit_notify=True)

# Search word/hashtag value 
HashValue = '_austrian'
# search start date value. the search will start from this date to the current date.
StartDate = "2019-11-11" # yyyy-mm-dd

for tweet in Cursor(api.search,q=HashValue,count=1,lang="en",since=StartDate, tweet_mode='extended').items():
    print (tweet.created_at, tweet.full_text)

但是,这种方法似乎并没有达到我的预期。我刚刚收到一系列推文,其中提到了奥地利这个词。

我应该怎么做才能只获得包含 _austrian 的推文?

【问题讨论】:

  • 你在网站上搜索时得到不同的结果吗?我想知道搜索词中的标点符号是否被忽略了。
  • @larsks 好吧,我目前不搜索其他网站,因为我的目标是使用 Twitter。如果您的意思是我用 ScuderiaFerrari 测试过的其他帐户并且似乎可以工作...我的目标是获取所有存在 _austrian 项的推文。
  • 我的意思是,如果你搜索 使用 twitter 网站_austrian 会产生与 austrian 不同的结果。
  • @larsks 很好的观察...是的,如果我在网站的搜索栏上输入内容,我会得到我不感兴趣的东西!!我该如何解决这个问题?
  • @larsks 顺便说一句,我尝试在 _austrian 前面添加 @ 以便我正在寻找 @_austrian 但我仍然收到其他根本不相关的推文

标签: python api web-scraping twitter tweepy


【解决方案1】:

我要做的是改用这个包:GetOldTweets3

我使用了以下代码。

tweetCriteria = got.manager.TweetCriteria().setQuerySearch('@_austrian')\
                                       .setSince("2019-11-11")\
                                       .setMaxTweets(10)
tweet = got.manager.TweetManager.getTweets(tweetCriteria)

目前,它设置为查找包含给定日期的“_austrian”的所有推文,并且限制为对代码进行 10 次推文搜索。根据您的需要进行调整。

要遍历结果,您需要 for 循环它。

for item in tweet:
  print(item.username, item.text)

样本输出

HofmannAviation In the 1980s I joined a #tyrolean Airways Dash 7 pilot training flight to Courchevel in the French Alps. In the Cockpit also Armin Kogler @_austrian @AHoensbroech @Flugthier @AlexInAir @_ABierwirth_ #dash7 @courchevel @BBD_Aircraft @GabyAttersee @AgueraMartin @GuillaumeFaurypic.twitter.com/NULpX4WSkA

您可以在 github 页面上阅读有关如何控制搜索的更多信息。使用此包,您可以获得的不仅仅是用户名和内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    相关资源
    最近更新 更多