推特图片和视频搜索:哪些能做,哪些做不到
推特图片和视频搜索:哪些能做,哪些做不到
有两件不同的事都被叫做"推特图片搜索",而其中只有一件是可行的。
找带图片的推文 —— 把搜索结果筛到只剩媒体。这个效果很好。
用一张已有的图去找那条推文 —— 以图搜图。★这个在 X 上不存在。★
先把两者分开,因为很多时间浪费在找一个根本不存在的功能上。
把搜索筛到媒体
操作符很简单,而且能和其它一切组合:
| 操作符 | 结果 |
|---|---|
filter:media |
带任意图片或视频的推文 |
filter:images |
只要图片 |
filter:videos |
只要视频 |
filter:links |
含链接的推文 |
-filter:images |
排除图片 |
和完整操作符集里的任何东西组合:
from:nasa filter:images min_faves:500
"product launch" filter:videos since:2026-08-01
#conference2026 filter:images -filter:retweets
⚠️ 一个值得知道的怪现象: 同一条查询,Media 标签返回的结果常常比 Latest 或 Top 更多。我们实测过同一条查询:Latest 22 条、Top 20 条、Media 48 条。★它是从一个形状不同的索引里取,而不是在同一批结果上做过滤★ —— 所以如果一次媒体搜索看起来是空的,先换标签再下"没有内容"的结论。
以图搜图在 X 上不存在
没有任何办法向 X 上传一张图去找包含它的推文。 没有操作符、没有界面功能、没有接口。
人们实际的替代做法:
- 用 Google 图片或 TinEye 搜这个图片文件。它们索引了一部分 X 的媒体,所以有时能找到那条推文。覆盖很薄,而且越来越薄。
- ★搜图片周围的文字。★ 如果你有截图,把里面一句原话加引号去搜,比任何以图搜图的办法都可靠得多。
- 搜账号 + 时间范围。 如果你知道是谁发的、大概什么时候,
from:账号 filter:images since: until:能很快把范围缩到可以逐条看完。
★文字路线几乎每次都胜过图片路线。★ 一句有辨识度的引号短语,是比“一张 X 不让你搜的图”强得多的检索键。
而如果你真正要的是某个账号的全部媒体而不是某一条特定推文,那是一个直接调用,根本不是搜索问题。
用代码拉媒体
如果你要的是某个账号的图片或视频,而不是做搜索,那就是一个直接调用:
import requests
BASE = "https://api.socialapi.tech"
KEY = "your_api_key"
HDRS = {"X-API-Key": KEY}
def get_media(username, limit=50):
r = requests.get(
f"{BASE}/v1/user/media",
params={"username": username, "limit": limit},
headers=HDRS,
timeout=60,
)
r.raise_for_status()
return r.json()["data"]
for post in get_media("nasa", limit=20):
print(f"{post['created_at']} {post['like_count']:>6} 赞 {post['text'][:50]}")
如果你只要图片或只要视频,也有各自单独的调用。
下载文件本身是第二步 —— 推文对象里带着链接,你再单独去取。注意图片和视频在两个不同的字段里:photos 是一组 URL 字符串,videos 是一组对象。
import pathlib
def download_photos(username, out_dir="media", limit=50):
out = pathlib.Path(out_dir)
out.mkdir(exist_ok=True)
saved = 0
for post in get_media(username, limit=limit):
for i, url in enumerate(post.get("photos", [])):
ext = url.split("?")[0].rsplit(".", 1)[-1][:4] or "jpg"
path = out / f"{post['id']}_{i}.{ext}"
if path.exists():
continue # 已经有了
resp = requests.get(url, timeout=60)
if resp.ok:
path.write_bytes(resp.content)
saved += 1
return saved
print(f"保存了 {download_photos('nasa', limit=20)} 个文件")
⚠️ 不要假设有一个合并的 media 字段。 图片和视频的结构不同 —— 一个是 URL 字符串列表,一个是对象列表 —— 所以用同一种形状去遍历两者的代码,会对另一种静默返回空。
⚠️ 关于版权: 能下载不等于能再发布。 X 上的图片和视频属于创作它们的人。为分析而下载是一回事;用在你自己的材料里则是授权问题,而"它是公开的"不是抗辩理由。
大家会问的问题
怎么在推特上搜图片?
在查询里加 filter:images,或者搜索后点 Media 标签。
推特能以图搜图吗? 不能。X 没有以图搜图。 试试用 Google 图片搜那个文件,或者搜图里文字的原句。
怎么根据截图找到那条推文? 把里面一句有辨识度的话加引号去搜。比试图用图片搜可靠得多。
怎么搜推特上的视频?
filter:videos,可以再配 from: 或时间范围。
怎么看一个账号的全部图片? 他资料页上的 Media 标签,或者用代码调媒体接口。
能下载推特图片吗? 单张可以,右键保存。批量的话用代码走每条推文里的图片链接。⚠️注意下载和再发布是两回事。
怎么下载推特视频? 视频链接随推文数据一起返回。也有第三方下载站,但要注意你在往什么地方粘贴链接。
我的媒体搜索为什么没结果?
换个标签试试 —— 同一条查询 Media 常常比 Latest 返回更多。也检查一下操作符拼写:是 filter:images,不是 filter:image。
能搜 GIF 吗?
X 上的 GIF 技术上是短视频,所以 filter:videos 能覆盖到。没有专门的 GIF 操作符。
怎么找到一张图的原始发布者? 如果你有推文原文就搜原文。如果没有、而且 Google 图片也找不到,往往就没有可靠路径了。
能按图片内容搜吗? 不能 —— X 不索引图片"里面"是什么。你搜的是恰好带图的那些推文的文字。
一条推文能放多少张图? 最多四张图,或者一个视频。
能从接口拿到图片链接吗?
能 —— 它们在推文对象的 photos 列表里。视频是另一个 videos 字段,结构不同,要分开处理。
图片是什么分辨率? 通常能拿到上传时的原始分辨率;有些链接带尺寸参数可以调。
能按日期搜图片吗?
能 —— filter:images 配 since: 和 until:,和任何其它按日期搜索一样。
已删除的图片还能访问吗? 不能。推文被删,它的媒体跟着一起没。
能搜回复里的图片吗?
filter:images 对回复同样生效。加 filter:replies 可以限定只看回复。
怎么监控一个账号的新图片? 定时轮询他的媒体,和你已经见过的做比对 —— 和任何监控方案是同一个形状。
能按话题标签搜图片吗?
能 —— #标签 filter:images。
有推特图片专用接口吗? 媒体是作为推文数据的一部分返回的,而不是一个独立的图片服务。你拿到链接,自己去取文件。
怎么在推特上搜图片?
在查询里加 filter:images。 ★它收窄的是"带图片的帖子"★,不是图片内容本身。
能对一条推文做以图搜图吗? 在 X 内部不能。 ★把图片链接拿到通用的以图搜图引擎去★ —— 平台索引的是帖子,不是图片。
有推特媒体查看器吗? 任何能展示一个账号媒体标签页的工具都是。 ★媒体时间线是一个标准的公开视图。★
怎么拿到原图尺寸的头像? 资料页会返回图片链接,通常带一个可以改的尺寸后缀。★它和其它字段一样是公开的。★
能从一条帖子下载图片吗? 链接随帖子数据一起返回;★取文件是你自己控制的另一个步骤★。
图片搜索能搜到图里的文字吗? 不能。 ★搜索匹配的是帖子正文,不是图片里写了什么★ —— 这是一个常见且代价很高的误解。
怎么看推特上的点赞? 资料页上的点赞标签页 —— ★不过 X 在 2023 年收紧了用代码获取点赞者列表的能力★。
推特有主页访问量吗? 主页访问在你自己的分析里是一个计数 —— ★永远不是身份★ —— 那条规则。
怎么找一个账号的图片? 用媒体视图,不要用时间线 —— ★实测重叠为零★ —— 为什么。
能按图片内容搜索吗? ★不能 —— 搜索只匹配文本。★ 把图片链接拿到通用的以图搜图引擎去。
怎么找某人发过的一张特定图片? 搜那条帖子的措辞,★不是搜图片★ —— 被索引的是图片周围的文字。
能按文件名搜图片吗? 不能。 ★文件名既不暴露也不被索引。★
能找到已删除的图片吗? 只能在捕获过它们的存档里 —— 什么能在删除后幸存。
GIF 会出现在图片搜索里吗? 它们一般走视频那个结构 —— ★检查 type 字段,不要凭假设★。
怎么拿很多账号的图片? 逐个账号翻它的媒体视图 —— ★按账号来,因为媒体视图不支持批量★。
能看到谁保存了我的图片吗? ★不能 —— 收藏是私密的★,而下载是不可见的。
图片算 filter:media 里的媒体吗?
算 —— filter:media 同时覆盖图片和视频 —— ★用 filter:images 可以进一步收窄★。
我的媒体搜索为什么会漏帖子? ★因为媒体视图是独立的索引★ —— 过滤时间线是用错了工具。
如果你要采集媒体
模式是两段式:先拿到带链接的推文,再去取文件。按推文 ID 去重,而不是按文件名 —— 同一张图可能出现在不同的 URL 下。
我们的 API 在每条推文上返回 photos 和 videos,另外还有专门取某账号图片或视频的调用。只读、固定按次价格、基于游标的翻页、没有属于你的限流要管。
延伸阅读:仍然有效的全部搜索操作符 · 找回老推文 · 监控账号的新推文。