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

Python脚本提取TXT中t.co链接无结果,请求技术帮助

问题排查与修正:提取Twitter点赞推文中的t.co图片链接

原脚本的核心错误点

  • 文件内容读取错误:word = str(FileObject)只是将文件对象转为字符串,并未读取文件内的实际文本,正确做法是使用FileObject.read()获取文件内容。
  • 正则表达式不匹配目标内容:你的源文件中链接格式是https://t(dot)co/xxx,但原脚本匹配的是https://t.co,完全无法命中目标链接。
  • 列表判断语法错误:if link(None)是非法语法,判断列表是否为空应该用if not link。
  • 文件写入逻辑错误:
    • 直接将列表link与字符串拼接link + "\n"会触发类型错误,列表不能直接和字符串相加;
    • FileObject2.close("list.txt")是错误用法,close()方法不需要传入文件名参数;
    • 循环内反复打开/关闭文件会导致数据覆盖或写入不完整。
  • 循环逻辑冗余低效:用while True + try-except的方式逐个匹配链接,不如直接用re.findall()一次性提取所有符合条件的链接更简洁高效。

修正后的Python脚本

import re

# 读取源文件内容
with open("like.txt", "r", encoding="utf-8") as f:
    content = f.read()

# 匹配所有格式为https://t(dot)co/xxx的链接
# 正则解释:匹配https://t(dot)co/开头,后面跟着任意字母数字的完整链接
pattern = r"https://t\(dot\)co/[a-zA-Z0-9]+"
links = re.findall(pattern, content)

# 写入结果到list.txt
with open("list.txt", "w", encoding="utf-8") as f:
    if not links:
        print("No Image URLs Found")
        f.write("")  # 写入空文件或根据需求调整
    else:
        # 每个链接占一行
        f.write("\n".join(links))
        print(f"成功提取{len(links)}个链接")

代码说明

  1. 使用with语句处理文件,无需手动关闭文件,更安全可靠;
  2. 正则表达式r"https://t\(dot\)co/[a-zA-Z0-9]+"精准匹配你源文件中的链接格式;
  3. re.findall()一次性提取所有符合条件的链接,存入列表links;
  4. 写入文件时用"\n".join(links)将列表转为每行一个链接的字符串,避免类型错误;
  5. 增加了提取结果的数量提示,方便确认执行情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 12:00:58