我目前正在努力应对 Twitter 的 API v2 更新,这极大地影响了 Tweepy 和 Scrapy 等数据抓取库的有效性。
新的速率限制和访问限制给我带来了一系列挑战,我正在努力应对这些挑战。
具体来说,我遇到了以下问题:
遵守新的速率限制,而不影响数据收集的连续性。
访问某些似乎有新限制的数据类型。
确保我的数据抓取仍然符合 Twitter 更新的服务条款。
以下是我已经采取的步骤:
我已将库更新到最新版本,希望能够对齐 符合新的 API 要求。
我浏览了 Twitter API 文档以了解更新后的内容 限制并相应地修改我的代码。
我研究了专为以下目的而设计的替代抓取方法和工具 Twitter API v2,但成功有限。
通过这些更改,我正在寻求以下方面的指导:
您发现哪些策略可以有效地抓取数据 Twitter API v2 的限制?
是否有任何更新的工具或库对您有帮助 克服这些抓取障碍?
如何平衡有效的数据抓取与合规性 Twitter 修改政策了吗?
我将非常感谢任何可以指导我应对这些挑战的见解,包括代码片段、工具推荐或您的经历轶事。
感谢您的宝贵意见!
Soryy,我忘了发布我最终是如何通过 Tweepy 废弃数据的。 这有点困难,因为大多数文档和可用材料尚未更新其文档。
我如何使用 Python 来实现它:
认证 要与 Twitter API 交互,您需要验证自己的身份。以下是使用 Tweepy 进行身份验证的方法:
pip install tweepy
Import
# Your API credentials
CONSUMER_KEY = 'your_consumer_key'
CONSUMER_SECRET = 'your_consumer_secret'
ACCESS_TOKEN = 'your_access_token'
ACCESS_TOKEN_SECRET = 'your_access_token_secret'
# Authenticate to Twitter
client = tweepy.Client(
consumer_key=CONSUMER_KEY,
consumer_secret=CONSUMER_SECRET,
access_token=ACCESS_TOKEN,
access_token_secret=ACCESS_TOKEN_SECRET
)
您可以使用 Tweepy 使用以下代码发布推文:
要与 Twitter API 交互,您需要验证自己的身份。以下是使用 Tweepy 进行身份验证的方法:
import tweepy
# Your API credentials
CONSUMER_KEY = 'your_consumer_key'
CONSUMER_SECRET = 'your_consumer_secret'
ACCESS_TOKEN = 'your_access_token'
ACCESS_TOKEN_SECRET = 'your_access_token_secret'
# Authenticate to Twitter
client = tweepy.Client(
consumer_key=CONSUMER_KEY,
consumer_secret=CONSUMER_SECRET,
access_token=ACCESS_TOKEN,
access_token_secret=ACCESS_TOKEN_SECRET
)
Posting a Tweet
You can post a tweet using Tweepy with the following code:
python
Copy code
message = "Hello Twitter"
client.create_tweet(text=message)
Searching Recent Tweets
To search for recent tweets (this requires Basic Level Access), you can use the following code:
query = 'QUERY'
tweets = client.search_recent_tweets(query=query, max_results=10)
for tweet in tweets.data:
print(tweet.text)
Media Upload (v1.1)
If you want to upload media to Twitter (v1.1), you can do so as follows:
# Authenticate to Twitter
auth = tweepy.OAuth1UserHandler(
CONSUMER_KEY, CONSUMER_SECRET,
ACCESS_TOKEN, ACCESS_TOKEN_SECRET
)
# Create API object
api = tweepy.API(auth)
# Upload Image
media = api.media_upload("tweet_img.png")