爬虫一共四个步骤:
一是明确目标(要知道你准备在那个范围或者网站去搜索)
二是爬(将所有的网站内容全部爬下来)
三是取(去掉对我们没用的数据)
四是处理数据(按照我们想要的方式存储和使用)
正则表达式:对应文本的过滤或者规则的匹配
正则表达式又称规则表达式,通常被用来检索、替换那些符合
某个模式(规则)的文本
对字符串操作的一种逻辑公式,用定义好的特定字符及
特定字符组合的“规则字符串”,表达对字符串的一种过滤逻辑
原始字符串 只需在双引号前加“r”前缀
re模块的一般使用步骤:
使用compile()函数将正则表达式的字符串形式编译为一个Pattern
对象。通过Pattern对象提供的一系列方法对文本进行匹配查找,
获得匹配结果,一个Match对象。最后使用Match对象提供的属性和方法
获得信息,根据需要进行其他的操作。
正则表达式是由普通字符和特殊字符(元字符)组成的文字模式
文本:we are well Welcome
正则表达式:we 匹配所有的含有we的但是包括well welcome
正则表达式:\bwe\b 只匹配了we
\b是正则表达式的特殊字符,称为元字符,匹配的是单词的开始
和结束,也就是单词的分界处。
compile函数
用于编译正则表达式,生成Pattern对象,它的一般使用形式:
match 从起始位置开始查找,一次匹配
search 从任何位置开始查找,一次匹配
findall 全部匹配 返回列表
finditer 全部匹配 返回迭代器
split 分割字符串 返回列表
sub 替换
findall 搜索整个字符串,获得所有匹配的结果
findall方法的使用形式:
findall(string[,pos[,endpos]])
其中,string是待匹配的字符串,pos和endpos是可选参数,指定字符串
的起始和终点位置,默认值分别是0和len(字符串长度)。
findall以列表形式返回全部能匹配的字串,如果没有匹配,
则返回一个空列表。
常用元字符
. 匹配除换行符的任意字符
^ 匹配行首
$ 匹配行尾
?重复匹配0次或1次
- 重复匹配0次或更多次
- 重复匹配1次或更多次
[n] 重复n次
{n,} 重复n次或更多次
{n,m} 重复n-m次
[a-z] 任意字符
[abc] a/b/c a/b/c中的任意一个字符
\b 匹配单词的开始和结束
\B 匹配不是单词开始和结束的位置
\d 匹配数字
\D 匹配任意非数字
\w 匹配字母、数字、下划线
\W 匹配任意不是字母、数字、下划线的字符
\s 匹配任意空白、包括空格,制表符(Tab),换行符
\S 匹配任意不是空白符的字符
[^a] 匹配除了a以外的任意字符
[^(123|abc)] 匹配除了123或者abc这几个字符以外的任意字符