使用 Python API 从 Twitter 中提取推文

读者大家好,在本文中,我将向您介绍 Twitter API,即 Tweepy,它用于使用 Python 检索推文。我希望您会喜欢阅读这篇文章。

使用 Python 从 Twitter 提取推文的要求

让我们回顾一下开始之前需要做什么。

1. Twitter 开发者帐户

为了访问 Tweepy API,创建一个开发者帐户非常重要,并且该帐户必须获得 Twitter 的批准。因此,请确保您提供了正确的详细信息以及使用 Tweepy 的正确理由。

以下是创建开发者帐户的方法。

  • 访问 Twitter 开发者网站dev.twitter.com
  • 单击右上角的“登录”按钮,在开发者网站上创建一个帐户。
Twitter 开发者网站
  • 登录后,单击导航栏上的开发人员链接。
  • 单击您的帐户,然后从出现的下拉菜单中选择“应用程序”。
落下
  • 单击“创建应用程序”按钮并填写您的应用程序的详细信息。
  • 为应用程序创建访问令牌。将此访问令牌复制到文件中并妥善保管。
  • 完成此操作后,记下您的 OAuth 设置,其中包括 – 消费者密钥、消费者秘密、OAuth 访问令牌、OAuth 访问令牌秘密。

2.电子表格阅读器软件

您将需要一个可以读取电子表格的软件,例如 Microsoft Excel 或 LibreOffice Reader。

从 Twitter 中提取推文的代码

在此编码示例中,我们将使用 Tweepy 从 twitter.com 提取数据。

1. 导入所需的库并设置 OAuth 令牌

因此,首先,导入必要的库,例如 tweepy 和 pandas,并声明在 Twitter 开发人员仪表板上创建应用程序期间获得的 OAuth 令牌。

from tweepy import *
 
import pandas as pd
import csv
import re
import string
import preprocessor as p
 
consumer_key = <enter your consumer key>
consumer_secret = <enter key>
access_key= <enter key>
access_secret = <enter key>

2. 使用 Tweepy 的 OAuthhandler 进行授权

现在我们已经定义了密钥,我们将继续使用 tweepy 的 OAuthHandler 对自己进行授权。我们将传递密钥,如下所示。

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)

我们现在将这些授权详细信息传递给 tweepy,如下所示。

api = tweepy.API(auth,wait_on_rate_limit=True)

3. 从 Twitter 中提取特定推文

您可以按名称定义变量search_words并指定要检索其推文的单词。

Tweepy 检查该特定关键字的所有推文并检索内容。这可以是标签、@提及,甚至是普通的单词。

有时,甚至转发也是摘录,为了避免我们过滤转发。

search_words = "#"      #enter your words
new_search = search_words + " -filter:retweets"

现在,对于 Tweepy 光标中的每条推文,我们搜索单词并传递它,如下所示。然后我们将内容写入 csv 文件,如 utf-8 编码后所示。

4. 提取推文元数据

在下面的代码片段中,我希望只检索推文的创建时间、推文的文本、用户名和位置。

for tweet in tweepy.Cursor(api.search,q=new_search,count=100,
                           lang="en",
                           since_id=0).items():
    csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8'),tweet.user.screen_name.encode('utf-8'), tweet.user.location.encode('utf-8')])

现在,我们将以追加模式打开一个csv 文件,并将 twitter 中的内容写入该文件。

csvFile = open('file-name', 'a')
csvWriter = csv.writer(csvFile)

5. 使用 Python 和 Tweepy 从 Twitter 中提取推文的完整代码

整个代码如下所示。您可以执行此命令并在与 python 文件相同的工作目录中找到一个包含所需所有数据的 csv 文件。

from tweepy import *
 
import pandas as pd
import csv
import re
import string
import preprocessor as p
 
consumer_key = <enter your consumer key>
consumer_secret = <enter key>
access_key= <enter key>
access_secret = <enter key>
 
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
 
api = tweepy.API(auth,wait_on_rate_limit=True)
 
csvFile = open('file-name', 'a')
csvWriter = csv.writer(csvFile)
 
search_words = "#"      # enter your words
new_search = search_words + " -filter:retweets"
 
for tweet in tweepy.Cursor(api.search,q=new_search,count=100,
                           lang="en",
                           since_id=0).items():
    csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8'),tweet.user.screen_name.encode('utf-8'), tweet.user.location.encode('utf-8')])

上述代码的输出是一个 csv 文件,如下所示:

输出 CSV 文件

请注意,输出将根据搜索关键字而有所不同。

结论

因此,我们已经到了本文的结尾,并尝试从 Tweepy 检索一些信息。希望你喜欢这样做!请在下面的评论部分告诉我们您的反馈。