-
好好看呢讷讷
查看全部 -
jieba分词主要功能
查看全部 -
jieba分词核心算法简介
查看全部 -
jieba三种分词模式与特点
查看全部 -
jieba分词模式、核心算法
查看全部 -
""" Description:正则清洗HTML数据 Author: Prompt: code in python3 env """ """ re.I 使匹配对大小写不敏感 re.L 做本地化识别(locale-aware)匹配 re.M 多行匹配,影响^(开头)和$(结尾) re.S 匹配包含换行在内的所有字符 re.U 根据Unicode字符集解析字符,这个标志影响 \w, \W, \b, \B re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更加 """ import re # 处理HTML标签文本 # @param htmlstr html字符串 def filter_tags(htmlstr): # 过滤doc_type htmlstr = ' '.join(htmlstr.split()) re_doctype = re.compile(r'<!DOCTYPE .*?>', re.S) res = re_doctype.sub('', htmlstr) """ # 过滤CDATA re_cdata = re.compile( r'//<!CDATA\[[ >] //\] >', re.I) res = re_cdata.sub('', res) # Script re_script = re.compile('<\s*script[^>]*>[^<]*<\s*/\s*script\s*>', re.I) res = re_script.sub('', res) # 注释 re_script = re.compile('<!--.*?-->', 0) res = re_script.sub('', res) # 换行符 re_br = re.compile('<br\n*?/?>') res = re_br.sub('\n', res) # HTML 标签 re_lable = re.compile('</?\w[^>]*>') res = re_lable.sub('', res) # 转义字符 re_esc = re.compile('&.*?;') res = re_esc.sub('', res) # 空格处理 re_blank = re.compile('\s+') # \s包含 \t \n \r \f \v res = re_blank.sub(' ', res) # 超链接处理 re_http = re.compile(r'(http://.+.html)') res = re_http.sub(' ', res) """ # return res re_mate = [ (r'<!DOCTYPE .*?>', re.S), (r'//<!CDATA\[[ >] //\] >', re.I), (r'<\s*script[^>]*>[^<]*<\s*/\s*script\s*>', re.I), (r'<!--.*?-->', re.I), (r'<br\n*?/?>', ), (r'</?\w[^>]*>', ), (r'&.*?;', ), (r'\s+', ), (r'(http://.+.html)', ), ] d = lambda pattern, flags=0: re.compile(pattern, flags) for re_type in re_mate: re_type = d(*re_type) res = re_type.sub(' ', res) return res def read_file(read_path): str_doc = '' with open(read_path, 'r', encoding='utf-8') as f: str_doc = f.read() return str_doc if __name__ == '__main__': str_doc = read_file(r're.html') res = filter_tags(str_doc) print(res) # with open(r'../data/html/test.html', 'w', encoding='utf-8') as f: # f.write(res) # print('No Exception') # 我是通过另一个编辑器进行打开预览的
这是我做的笔记,和老师的有些不一样但是效果一样的
查看全部 -
Formit查看全部
-
ccccxxqaa查看全部
-
12233699988999988636999999999999999999999999999999999999999999999999999999....99..966699988558899699999999999966696663322885244856666699636999663366966668556666666445266699666666666336666666666666666666666666666666666666666666333699669966333333333333333333333333333333333333333333333366963585255772369963699999999996362885888669999669999996699999966699669966999852885244666999999999636999636995588566996669996查看全部
-
学习要点。
查看全部 -
本节课程要点
查看全部 -
本节课程要点
查看全部 -
哈哈哈查看全部
-
ccvbnb查看全部
-
猜猜猜查看全部
举报
0/150
提交
取消