对于内容的抓取,我有个疑问就是数据该怎么存更好。
比如我这这里有个 class
class Topic extends _TopicModel {
...
String content; // 帖子内容正文
...
}
那么我在抓取的时候有个疑问了,这个回复内容正文抓取之后应该存什么数据,我发现解析的时候就非常不方便,因为 V2EX 的回复内容一种有三种特殊情况 : 换行符、markdown、图片。
然后我就修改了下。
enum ContentType {
text,
img,
br
}
class _ContentElement {
ContentType type;
String content;
}
class StringContentElement extends _ContentElement {
StringContentElement(String text) {
type = ContentType.text;
content = text;
}
}
class Topic extends _TopicModel {
...
List<_ContentElement> content; // 帖子内容正文
...
}
但是不管怎么写都感觉别扭了,我就打算停手了,对于这种数据的抓取有什么更好的存储和解析格式吗,我对爬虫也不是很了解。有人可以给我简述下思路吗?
看来 webView 是 flutter 的一个坑了,html 什么都好解析,富文本类型有点没辙。学习使用的时候还是得注意下别挑富文本内容的网站了