sansan0/TrendRadar · error · ValueError
RSS 解析失败 ({feed_url}): {feed.bozo_exception}
Error message
RSS 解析失败 ({feed_url}): {feed.bozo_exception} What it means
Error "RSS 解析失败 ({feed_url}): {feed.bozo_exception}" thrown in sansan0/TrendRadar.
Source
Thrown at trendradar/crawler/rss/parser.py:69
"""
解析 RSS/Atom/JSON Feed 内容
Args:
content: Feed 内容(XML 或 JSON)
feed_url: Feed URL(用于错误提示)
Returns:
解析后的条目列表
"""
# 先尝试检测 JSON Feed
if self._is_json_feed(content):
return self._parse_json_feed(content, feed_url)
# 使用 feedparser 解析 RSS/Atom
feed = feedparser.parse(content)
if feed.bozo and not feed.entries:
raise ValueError(f"RSS 解析失败 ({feed_url}): {feed.bozo_exception}")
items = []
for entry in feed.entries:
item = self._parse_entry(entry)
if item:
items.append(item)
return items
def _is_json_feed(self, content: str) -> bool:
"""
检测内容是否为 JSON Feed 格式
JSON Feed 必须包含 version 字段,值为 https://jsonfeed.org/version/1 或 1.1
"""
content = content.strip()
if not content.startswith("{"):
return FalseView on GitHub (pinned to 8ee26026ba)
Solutions
- 确认 feed_url 可访问且返回合法的 RSS/Atom XML
- 在浏览器或 curl 中检查订阅源内容是否损坏
- 若源长期失效,从配置中移除或更换该 RSS 源
Example fix
curl -sI https://example.com/feed.xml # 验证源可用性
When it happens
Trigger: Thrown at trendradar/crawler/rss/parser.py:69 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of sansan0/TrendRadar@8ee26026ba (2026-08-15).
Data as JSON: /api/errors/81feeda74bdfaabc.
Report an issue: GitHub.