爬虫基础
网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
1、 通用爬虫 : 通常指搜索引擎的爬虫(https://www.baidu.com)
2、 聚焦爬虫 : 针对特定网站的爬虫
robots协议
通用爬虫并不是万物皆可爬,它也需要遵守规则。 在网站根目录下robots.txt文件中会指明爬虫可爬取的网页,当然这只是一个君子协议,并不是所有爬虫都遵循,一般只有大型的搜索引擎的爬虫才遵守。 在网页head中增加mate标签也可以 <meta name="robots" content="noindex,nofollow" /> 例如:https://www.taobao.com/robots.txt
采集策略
1. 深度优先遍历策略 (ABF CGHI DE)
2. 广度优先遍历策略 (ABCDE FG HI)
3. 大站优先策略 对于待抓取URL队列中的所有网页,根据所属的网站进行分类。对于待下载页面数多的网站,优先下载。这个策略也因此叫做大站优先策略。
清洗策略
如何获取解析爬来的数据
1,json格式的数据jsckson,jsonObject
2,html格式xml格式Jsoup ,SAXReader,Dom4j
3,字符串正则匹配
滤重策略
1、布隆过滤器 2、基于Hash算法 3、基于MD5压缩映射 4、基于轻量级KVDB
反爬策略
1,设置请求头
如何设置请求头?
2,ip访问频率限制
nginx
3,输入验证码
4,要求登录&cookie验证
5,js渲染
可以将重要的内容写道js中,浏览器加载可以解析js,而爬虫不具备js代码执行能力
5,自定义字体
来源:CSDN
作者:春夜浮晓
链接:https://blog.csdn.net/sinat_30071601/article/details/104777477