You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python爬取乌尔都语等特定语言的Twitter推文

Python爬取乌尔都语Twitter推文的定向实现方法

乌尔都语的ISO 639-1标准语言代码为ur,Twitter搜索原生支持按该代码过滤内容,配合字符规则二次校验就能实现精准定向,以下是你提到的三种方案的具体实现方式:

方案1:Tweepy 调用官方API(稳定性最高,优先选择)

  • 申请Twitter API v2权限后,直接在搜索查询语句中加入lang:ur参数,官方会在返回结果前完成第一层过滤,效率远高于事后自行筛选。
  • 参考实现:
import tweepy

# 替换为自己申请的Bearer Token
client = tweepy.Client(bearer_token="YOUR_OWN_BEARER_TOKEN")
# 可根据需求叠加关键词、时间范围、排除转推等筛选条件
search_query = "目标关键词 lang:ur -is:retweet"
result = client.search_recent_tweets(
    query=search_query,
    max_results=100,
    tweet_fields=["lang", "text", "created_at"]
)

for tweet in result.data:
    # 二次校验,规避官方标注偶发的错误
    if tweet.lang == "ur":
        # 后续做你的存储、处理逻辑
        print(tweet.text)
  • 注意:免费档API仅支持拉取最近7天的推文,需要历史全量数据需购买对应付费档位。

方案2:Twint 无密钥爬取(无需申请API权限)

  • 原版Twint已停止维护,直接装PyPI旧版本会出现接口报错,需要使用社区维护的修复分支版本。
  • Twint配置项原生支持语言过滤,直接将Lang参数设为ur即可完成初筛,参考实现:
import twint

config = twint.Config()
config.Search = "目标关键词"
config.Lang = "ur"
config.Hide_output = True
config.Store_object = True
twint.run.Search(config)

tweet_list = twint.output.tweets_list
for tweet in tweet_list:
    # 乌尔都语Unicode区间校验兜底
    urdu_char_cnt = 0
    text = tweet.tweet
    for c in text:
        if '\u0600' <= c <= '\u06ff' or '\ufb50' <= c <= '\ufdff':
            urdu_char_cnt += 1
    # 乌尔都语字符占比超过60%判定为有效内容,过滤混排、广告等无关内容
    if len(text) > 0 and urdu_char_cnt / len(text) > 0.6:
        print(text)
  • 注意:该方案通过模拟非官方接口请求实现,无稳定性保障,Twitter接口改版后可能随时失效,需要同步跟进社区修复补丁。

方案3:Selenium 模拟浏览器爬取(兜底方案)

  • 该方案不需要特殊接口权限,直接在Twitter搜索URL中拼接lang:ur参数即可,示例URL格式为https://twitter.com/search?q=目标关键词%20lang%3Aur&src=typed_query,浏览器加载后默认展示的就是初筛后的乌尔都语推文。
  • 爬取过程中需要自行实现滚动加载、元素等待逻辑,同时建议加上和Twint方案一致的Unicode字符占比校验,过滤页面夹带的广告、推荐内容等非目标数据。
  • 注意:该方案爬取速度最慢,需要配置随机等待、真实浏览器指纹等反爬绕过策略,仅适合小批量数据采集场景,不建议用于万级以上数据量爬取。

通用优化提示:不要单独使用langdetect这类通用语言检测库做乌尔都语识别,这类库对阿拉伯语系分支语言的区分度极差,很容易把阿拉伯语、波斯语、旁遮普语内容误判为乌尔都语。用平台原生语言参数+Unicode字符占比校验的两层过滤逻辑,非目标内容的漏判率可以控制在1%以下。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:24:29