You need to enable JavaScript to run this app. Python开发:不借助Twitter API与Selenium,通过URL校验推文存在性
优惠活动
大模型
产品
解决方案
定价
更多

Python开发:不借助Twitter API与Selenium,通过URL校验推文存在性

核心需求
  • 持有同一Twitter账号下的一批推文URL,需要逐一校验这些推文当前是否仍可访问
  • 推文失效判定规则:匹配到以下两类Twitter返回的典型错误提示中任意一类,即可判定推文失效:
    This Tweet is from an account that no longer exists. Learn more
    
    或
    Sorry that page doesn't exist!
    
已尝试的实现方案

通过Twint库爬取目标账号的全量推文,将本地待校验的推文链接与Twint爬取结果做匹配,以此判断对应推文是否存在。当前使用的Twint爬取函数实现如下:

def get_tweets(username):
    c = twint.Config()
    c.Username = username
    tweets = []
    c.Store_object = True
    c.Retweets = True
    c.Store_object_tweets_list = tweets
    c.Hide_output = True
    twint.run.Profile(c)
    tweets_links = []
    for tweet in tweets:
        tweets_links.append(tweet.link)
    return tweets_links

get_tweets(username)
现有方案的缺陷

该方法爬取的推文存在历史内容截断问题:测试账号GideonCRozner的爬取结果仅更新至2020年6月24日,无法覆盖本地存储的、发布时间早于该节点的推文URL,无法完成这类旧链接的存在性校验。

当前临时方案的不足

临时引入Selenium逐页请求未被Twint覆盖的推文链接完成校验,但Selenium运行效率过低,无法适配批量校验的场景需求。

期望的解决方向

方案需满足两个基础约束:无需依赖Selenium、无需调用Twitter官方API,可从以下两个方向任选其一实现:

  • 能够完整爬取指定账号的全量历史推文
  • 能够通过单条推文URL快速完成存在性校验

内容的提问来源于stack exchange,提问作者jalil_BM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.07 11:06:06