爬虫解析器

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

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开发者工具能够复制规则。

你可能感兴趣的:(爬虫解析器)