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

2020-01-18 10:22:50 +08:00
 cyheng

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

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

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

但如果是复制他人站点,盗版内容的话,就不合适了。所以想确认下。
guolaopi
2020-01-19 09:45:32 +08:00
C#有 Html.Raw("")方法渲染字符串为 html。。搜一下有没有库吧
dengwen168
2020-04-27 08:48:56 +08:00
我想请问一下楼主这个问题解决了没有?
我也所到同样的问题,有时候从新闻源里得到的文章都是没有分段符的,我输出的时候全部都成了一段,也正在找方法。
cyheng
2020-05-03 12:16:15 +08:00
@dengwen168 前面几楼都回答得很好啊,看你的选择吧。我是用 pre 。
dengwen168
2020-05-26 08:21:41 +08:00
@cyheng 那就是说,采集入库的时候要将 p 标签,或者换行标签保留对吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/638919

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX