需要借助一个包
“github.com/russross/blackfriday”
然后两个函数
// TrimHtml 去除HTML标签
func TrimHtml(html string) string {
//将HTML标签全转换成小写
re, _ := regexp.Compile("\\<[\\S\\s]+?\\>")
html = re.ReplaceAllStringFunc(html, strings.ToLower)
//去除STYLE
re, _ = regexp.Compile("\\<style[\\S\\s]+?\\</style\\>")
html = re.ReplaceAllString(html, "")
//去除SCRIPT
re, _ = regexp.Compile("\\<script[\\S\\s]+?\\</script\\>")
html = re.ReplaceAllString(html, "")
//去除所有尖括号内的HTML代码,并换成换行符
re, _ = regexp.Compile("\\<[\\S\\s]+?\\>")
html = re.ReplaceAllString(html, "\n")
//去除连续的换行符
re, _ = regexp.Compile("\\s{2,}")
html = re.ReplaceAllString(html, "\n")
return strings.TrimSpace(html)
}
// Markdown2Html Markdown format to HTML format
func Markdown2Html(markdown string) string {
html := blackfriday.MarkdownCommon([]byte(markdown))
return string(html)
}
简单转换
func main() {
s := "## 爬虫步骤\n\n- 明确目标(确定在那个网站搜索)\n- 爬(爬下内容)\n- 取(筛选想要的)\n- 处理数据(根据自己的想法)\n\n## 正则表达式\n\n- 文档:https://studygolang.com/pkgdoc\n- API\n - re := regexp.MustCompile(reStr),传入正则表达式,得到正则表达式对象\n - ret := re.FindAllStringSubmatch(srcStr,-1):用正则对象,获取页面页面,srcStr\n- 爬邮箱\n- 方法抽取\n- 爬连接\n- 爬手机号\n - http://www.zhaohaowang.com/ 如果连接失效了自己找一个有手机号的就好了\n- 爬身份证\n - http://henan.qq.com/a/20171107/069413.htm 如果连接失效了自己找一个就好了\n- 爬图片连接\n\n```golang\npackage main\n\nimport (\n \"fmt\"\n \"io/ioutil\"\n \"net/http\"\n \"regexp\"\n)\n"
fmt.Println(TrimHtml(Markdown2Html(s)))
}
转换效果:
转换前
转换后