1、爬虫基础知识
1.1 爬虫的分类
1、通用爬虫:搜索引擎的一部分,将互联网的网页下载到本地形成镜像。
2、聚焦爬虫(常用):面向特定的需求,在网页抓取的时候对内容已经进行了筛选。
1.2 关于通信过程
1、浏览器会通过dns服务器查找域名对应的IP地址;
2、向IP地址对应的web服务器发送请求;
3、web服务器会根据请求进行响应,发送你需要的数据回到浏览器;
4、浏览器接收服务器发送过来的数据或者网页,进行渲染,展示在页面中。
1.3 关于路径问题
结构:协议(http https ftp): // 服务器的域名或者ip地址 [端口]/访问资源的路径?查询字符串(键值结构)#锚点
注意:url网络地址不能出现中文
1.4 爬虫的具体步骤
1、所需要数据对应的真实URL地址;
2、找到对应的请求方式;
3、使用第三方包,构造请求(注意需要进行伪装,headers的伪装,最重要的是需要进行浏览器伪装—User-Agent);
4、发送请求;
5、收到响应之后,需要对响应体数据进行解析(普通的页面text,如果是多媒体文件是content);
6、将拿到的页面或者多媒体文件按照需求进行提取(正则);
7、将获取到的目标文件进行保存;
2、正则匹配
2.1 match进行匹配
import re:定义包
match方法进行匹配,从头开始匹配,match这个函数如果成功匹配,返回的就是一个对象,如果匹配不到数据,返回的就是None。
ret = re.match('python','python is good')
print(ret)
#group这个方法用来提取匹配到的数据
print(ret.group())
2.2 字符
2.2.1 单个任意字符
result = re.match('.','bcd')
print(result.group())
2.2.2 []匹配列举字符的任何一位
result =re.match('[pP]','python')
print(result.group())
2.2.3 \d匹配数字
rel=re.match('[0123456789]','123python')
rel=re.match('[0-9]','123python')
rel = re.match('\d','923python')
2.2.4 \D匹配非数字
rel = re.match(