美文网首页
爬虫解析器

爬虫解析器

作者: HuiningBinla | 来源:发表于2019-03-27 16:48 被阅读0次

    一、 正则表达式特殊符号含义

    A 匹配规则

    1、{}实质也是限定词的用法,限定前面字符所出现的次数,跟在()后面就是限定括号中的内容所出现的次数。一般有三种模式:
    {数字}、{数字,}、{数字,数字}

    2、竖线 | 实质上就是或(or)的关系

    3、[] 其意思是方括号中的字符只要满足其中任何一个就可以。
    [^字符]表示取除方括号字符以外所有的字符

    4、[\u4E00-\u9FA5] 匹配一个汉字,要是想匹配多个汉字那就在方括号后边加一个加号:[\u4E00-\u9FA5]+
    注意:要匹配多个汉字时,汉字之间必须连续,不能有其他字符,如字母、空格,标点等。
    5、\w 匹配
    借鉴文章:
    https://blog.csdn.net/weixin_34235371/article/details/88262507

    B 方法

    1、match() 从头开始匹配 match('规则', html,re.S)
    2、search() 扫描整个字符串,可不从头匹配,但只匹配到第一个符合规则的,search('规则',html,re.S)
    3、findall() 扫描整个字符串,可不从头匹配,匹配到所有符合规则的 findall('规则',html,re.S)
    4、sub() 替换 / 去除某些元素 sub('规则',要去替换的元素,html)
    5、complie() 将正则表达式编译成正则表达式对象,以便后面匹配中复用 compile(规则)

    二、 BeautifulSoup(from bs4 import BeautifulSoup)

    BeautifulSoup(html,'解析器')
    (1) BeautifulSoup支持的解析器有:

    解析器 使用方法 优势 劣势
    python标准库 BeautifulSoup(markup,'html.paeser') python的内置标准库、执行速度适中、文档容错能力强 python 3.2.2之前版本文档容错能力差
    lxml HTML解析器 BeautifulSoup(markup,'lxml') 速度快、文档容错能力强 需要安装C语言库
    lxml XML解析器 BeautifulSoup(markup,'xml') 速度快、唯一支持XML的解析器 需要安装C语言库
    html5lib BeautifulSoup(markup,'html5lib') 最好的容错性、以浏览器的方式解析文档、生成HTM5 格式的文档 速度慢、不依赖外部扩展

    (2) 方法
    find_all(name,strrs) 找出所有符合规则的
    find(name,atrrs) 找出第一个符合规则的
    CSS选择器select() 找出所有符合规则的 # 推荐使用这个,因为chrome开发者工具能够复制规则。

    相关文章

      网友评论

          本文标题:爬虫解析器

          本文链接:https://www.haomeiwen.com/subject/qljfdqtx.html