V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
cyheng
V2EX  ›  Python

爬虫的时候只存文本到数据库,怎么在前端展示呢

  •  
  •   cyheng · 2020-01-18 10:22:50 +08:00 · 5542 次点击
    这是一个创建于 1764 天前的主题,其中的信息可能已经有所发展或是发生改变。

    爬了某小说的网站,小说章节以不带 html 的形式直接存到数据库中,但是这样的话前端展示的时候才发现没有带格式,导致整个章节都是一个自然段没有空行。请问这种情况下怎么处理比较好呢?

    20 条回复    2020-05-26 08:21:41 +08:00
    ipwx
        1
    ipwx  
       2020-01-18 10:24:52 +08:00   ❤️ 1
    replace("\n", "<br/>")
    ipwx
        2
    ipwx  
       2020-01-18 10:25:33 +08:00   ❤️ 1
    或者 "".join(["<p>{}</p>".format(line) for line in content.split("\n")])
    opengps
        3
    opengps  
       2020-01-18 10:28:55 +08:00   ❤️ 1
    找找<br /> <p>标签,哪个适合用来当做分段分行符号,就腿硬替换成一咯提示的 ascii 换行控制符,等着回到前端时候在替换回对应的标签
    duan602728596
        4
    duan602728596  
       2020-01-18 10:36:11 +08:00 via iPhone   ❤️ 3
    <pre></pre>
    cyheng
        5
    cyheng  
    OP
       2020-01-18 10:38:11 +08:00
    感谢,顺便问一下如果我前端要编辑的话是用富文本编辑器还是 textarea 比较好?富文本编辑器文本都是 html,这样就和数据库里面的章节不一致。
    ClericPy
        6
    ClericPy  
       2020-01-18 10:46:11 +08:00
    例子呢?

    换行什么的, 用 lxml 也可以实现类似 JS 的 innerText 方法是带换行的吧
    ClericPy
        7
    ClericPy  
       2020-01-18 10:48:18 +08:00
    前端可编辑的话, textarea 可以, 也可以像 4 楼说的用 pre code, 带上 Editable 属性就行了

    https://developer.mozilla.org/zh-CN/docs/Web/HTML/Global_attributes/contenteditable
    cyheng
        8
    cyheng  
    OP
       2020-01-18 10:55:01 +08:00
    @ClericPy 数据库存的格式是```
    一段文本\n 一段文本\n
    ```
    前端不会显示换行,4 楼的提醒用 pre 感觉是最好的方法
    annielong
        9
    annielong  
       2020-01-18 11:53:57 +08:00
    看爬取数据格式了,一般都会保留基本的排版 html,除非过滤的所有的 html 标签
    redam
        10
    redam  
       2020-01-18 12:38:09 +08:00
    white-space: pre-wrap;
    imicksoft
        11
    imicksoft  
       2020-01-18 13:47:58 +08:00
    aardio 有 string.html 类库,可以 html 转 text,也可以 text 转 html
    py 没有这样的类库么
    cyheng
        12
    cyheng  
    OP
       2020-01-18 15:42:32 +08:00 via Android
    @annielong 爬去的时候爬基本排班的 html,现在就只有字符串
    cyheng
        13
    cyheng  
    OP
       2020-01-18 15:43:48 +08:00 via Android
    爬取的时候没有爬基本的 html,只爬了 text
    JCZ2MkKb5S8ZX9pq
        14
    JCZ2MkKb5S8ZX9pq  
       2020-01-18 16:26:21 +08:00
    爬了人家的网站,为啥要重新做成前端?交作业?
    cyheng
        15
    cyheng  
    OP
       2020-01-18 17:28:20 +08:00
    @JCZ2MkKb5S8ZX9pq 爬了的话总是要展示的吧,不然我爬它干嘛?
    JCZ2MkKb5S8ZX9pq
        16
    JCZ2MkKb5S8ZX9pq  
       2020-01-18 20:30:51 +08:00
    数据分析,做语言分析模型,交作业,用途很多的。

    但如果是复制他人站点,盗版内容的话,就不合适了。所以想确认下。
    guolaopi
        17
    guolaopi  
       2020-01-19 09:45:32 +08:00
    C#有 Html.Raw("")方法渲染字符串为 html。。搜一下有没有库吧
    dengwen168
        18
    dengwen168  
       2020-04-27 08:48:56 +08:00
    我想请问一下楼主这个问题解决了没有?
    我也所到同样的问题,有时候从新闻源里得到的文章都是没有分段符的,我输出的时候全部都成了一段,也正在找方法。
    cyheng
        19
    cyheng  
    OP
       2020-05-03 12:16:15 +08:00
    @dengwen168 前面几楼都回答得很好啊,看你的选择吧。我是用 pre 。
    dengwen168
        20
    dengwen168  
       2020-05-26 08:21:41 +08:00
    @cyheng 那就是说,采集入库的时候要将 p 标签,或者换行标签保留对吧?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2370 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:55 · PVG 09:55 · LAX 17:55 · JFK 20:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.