1.网络爬虫:自动从互联网中定向(有目标、过滤无关信息)或不定向(随机)地采集信息的一种程序。常用的类型有:通用网络爬虫(不定向)、聚焦网络爬虫(定向设置过滤规则)。
2.网络爬虫的应用:①搜索引擎②采集金融数据③采集商品数据④自动过滤广告⑤采集竞争对手的客户数据⑥采集行业相关数据,进行数据分析......
3.网络爬虫的运行原理
(1)通用网络爬虫:
①获取初始URL;②爬取页面并获取新的URL;③将爬取的内容放到服务器中,将新URL放入URL队列;④读取新URL,重复②③④;⑤直到满足停止条件结束。
(2)聚焦网络爬虫:
①对抓取目标进行相应的定义或描述;②获取初始URL;③爬取页面并获得新的URL;④将爬取的内容放到服务器中,过滤无关链接后,将新URL放入URL队列中;⑤确定下一步抓取目标,重复①②③④⑤;⑥直到满足停止条件结束。
4.正则表达式
(1)原子:是正则表达式中最基本的组成单位,每个正则表达式中至少要包含一个原子。常见的原子类型有:
①普通字符

②非打印字符

③通用字符
\w匹配任意字母、数字、下划线
【\W匹配除了字母、数字、下划线以外的任意其它字符】
\d 匹配任意十进制数
【\D匹配除了十进制数以外的任意其它字符】
\s 匹配空白字符
【\S匹配除了空白字符以外的任意其它字符】

④原子表

【注】①[jsz]表示三个字母处于平等地位,能够匹配的前提是保证pyth和n中间存在且只能存在j、s、z中任意一个。
②[^j] ^放在原子表中表示非,不是j的其它的原子。
(2)元字符
. 匹配任意字符
^ 匹配字符串开始的位置
$ 匹配字符串结束的位置
* 匹配重复0次、1次或者多次的位置
? 匹配重复0次或者1次的位置
+ 匹配重复1次或多次的位置
t{n} 原子t恰好出现了n次
t{n,} 原子t至少出现了n次
t{n,m} 原子t至少出现n次且至多出现m次(n<=t<=m)
t|s 模式选择符,t或者s
() 模式单元,用于提取某一内容

(3)模式修正符
I 忽略大小写
M 多行匹配
L 本地化识别匹配
U 根据unique字符解析字符
S 让.也能匹配换行符

(4)①贪婪模式:尽可能多的匹配。
②懒惰模式:尽可能少的匹配。

(5)正则表达式函数
①re.match()函数②re.search()函数
re.match()从头匹配;re.search()从左向右匹配 ,不在意字符串出现位置。

③全局匹配函数re.compile(pat).findall(string)

④re.sub()函数

(6)匹配.com、.cn

网友评论