为了账号安全,请及时绑定邮箱和手机立即绑定
  • 好好看呢讷讷

    查看全部
  • 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
    查看全部
  • 猜猜猜
    查看全部
首页上一页12下一页尾页

举报

0/150
提交
取消
课程须知
1、本课程面向一定编程基础的计算机专业、软件工程专业、通信专业、电子技术专业和自动化专业的学生。 2、本课程也适用于大数据从业者及人工智能相关工程人员。 3、任何有兴趣的同学均适合学习。
老师告诉你能学到什么?
1、掌握不同分词工具与适用场景 2、掌握文本特征选择与提取方法

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!