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

Python中如何将爬取的网页文本按换行符正确拆分

问题原因
  • 你调用的接口返回的是标准JSON格式数据,你现在拿到的text是未解析的JSON原始字符串,里面显示的\n是JSON转义后的字符,不是实际的换行符,所以直接调用splitlines/split('\n')都不会生效。
  • 你贴的输出样例末尾还能看到","id":"17489"}]的JSON结构尾缀,也能证明你拿到的是完整JSON串,不是纯文本内容。
修复后的代码
import urllib.request
import json

def get_les_mis():
    url = "http://corpus-db.org/api/id/17489/fulltext"
    try:
        with urllib.request.urlopen(url) as f:
            # 先解析JSON数据
            json_data = json.loads(f.read().decode('utf-8'))
            # 接口返回的是列表包字典结构,提取第一个元素的fulltext字段就是纯文本内容
            text = json_data[0]['fulltext']
            # 此时text里的\n已经是实际换行符,可以正常拆分
            lines = text.splitlines()
            for line in lines:
                # 不需要过滤空行可以删掉if判断
                if line.strip():
                    print(line)
    except urllib.error.URLError as e:
        print(e.reason)
    except json.JSONDecodeError as e:
        print(f"JSON解析失败:{e}")
补充说明

接口返回的JSON结构里,只有提取出fulltext字段的内容后,里面的转义字符才会被还原成实际的换行、缩进等格式,再做按行拆分的操作才会符合预期。如果需要保留原文里的空行,删除判断空行的逻辑即可。

内容的提问来源于stack exchange,提问作者s-cat-z

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:39:04