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 False

View on GitHub (pinned to 8ee26026ba)

Solutions

  1. 确认 feed_url 可访问且返回合法的 RSS/Atom XML
  2. 在浏览器或 curl 中检查订阅源内容是否损坏
  3. 若源长期失效,从配置中移除或更换该 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.