爬虫的原理和思路(自我总结)

网络爬虫框架主要由控制器解析器索引库三大部分组成,而爬虫工作原理主要是解析器这个环节,解析器的主要工作是下载网页,进行页面的处理,主要是将一些JS脚本标签、CSS代码内容、空格字符、HTML标签等内容处理掉,爬虫的基本工作是由解析器完成。

解析器的具体流程是:

入口访问->下载内容->分析结构->提取内容

爬虫的思路:

1、查看该网站是否可爬,robot.txt是君子协议,定义了可爬取和不可爬取的内容;之所以叫做君子协议是靠自己的道德去约束的,就是你可以去爬但是违反了你的道德~~~

2、给爬虫一个目标即网页地址及参数,模拟浏览器请求网站,得到网页源码

3、通过 python 正则对所需要的数据进行分析,匹配出数据

4、保存数据(数据库或文件中)

如果网站有反爬虫技术,那么这个过程可能就会稍复杂。

爬虫的难点在于如何去提取到你需要的数据。

response源码中没有要提取的内容:

只有2种可能,一是ajax异步,二是js拼接而成

获取js加载的内容:

1、js加载的:需要分析到底是哪个js加载出来的,可用调试工具打断点。然后模拟请求获得数据

2、使用pyV8

不到万不得已不要模拟浏览器,消耗性能和内存,手工调试分析出数据来源请求即可

猜你喜欢

转载自blog.csdn.net/loner_fang/article/details/81023017