爬虫的时候只存文本到数据库,怎么在前端展示呢 - V2EX
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 6005 次点击
    这是一个创建于 2100 天前的主题,其中的信息可能已经有所发展或是发生改变。

    爬了某小说的网站,小说章节以不带 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     Solana     2692 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 14:11 PVG 22:11 LAX 07:11 JFK 10:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86