爬虫及爬行方式
爬虫有不少名字,好比web机器人、spider等,它是一种能够在无需人类干预的状况下自动进行一系列web事务处理的软件程序。web爬虫是一种机器人,它们会递归地对各类信息性的web站点进行遍历,获取第一个web页面,而后获取那个页面指向的全部的web页面,依次类推。因特网搜索引擎使用爬虫在web上游荡,并把他们碰到的文档所有拉回来。而后对这些文档进行处理,造成一个可搜索的数据库。简单来讲,网络爬虫就是搜索引擎访问你的网站进而收录你的网站的一种内容采集工具。例如:百度的网络爬虫就叫作BaiduSpider。html
- 搜索引擎的爬虫工做原理
网络 < --- > 爬虫 < --- > 网页内容库 < --- > 索引程序 < --- > 索引库 < --- > 搜索引擎 < --- > 用户
爬虫程序须要注意的地方
-
连接提取以及相对连接的标准化前端
爬虫在web上移动的时候会不停的对HTML页面进行解析,它要对所解析的每一个页面上的URL连接进行分析,并将这些连接添加到须要爬行的页面列表中去。关于具体的方案咱们能够查阅这篇文章web
- 避免环路的出现
web爬虫在web上爬行时,要特别当心不要陷入循环之中,至少有如下三个缘由,环路对爬虫来讲是有害的。
- 他们会使爬虫可能陷入可能会将其困住的循环之中。爬虫不停的兜圈子,把全部时间都耗费在不停获取相同的页面上。
- 爬虫不断获取相同的页面的同时,服务器段也在遭受着打击,它可能会被击垮,阻止全部真实用户访问这个站点。
- 爬虫自己变的毫无用处,返回数百份彻底相同的页面的因特网搜索引擎就是这样的例子。
同时,联系上一个问题,因为URL“别名”的存在,即便使用了正确的数据结构,有时候也很难分辨出之前是否访问过这个页面,若是两个URL看起来不同,但实际指向的是同一资源,就称为互为“别名”。
搜索引擎优化
搜索引擎优化也叫SEO,了解了web爬虫的工做方式于原理以后对SEO会有更好的认识,对于前端开发,须要注意的SEO有如下内容:服务器
- 突出重要内容
合理的title、description和keywords
虽然如今搜索对这三项的权重慢慢减少,但仍是但愿可以合理的写好他们,只写有用的东西,不要在这里写小说,要表达重点。
title:只强调重点便可,重要关键词出现不要超过2次,并且要靠前,每一个页面title要有所不一样description:把网页内容高度归纳到这里,长度要合理,不可过度堆砌关键词,每一个页面description要有所不一样,keywords:列举出几个重要关键词便可,也不可过度堆砌。
- 语义化书写HTML代码,符合W3C标准
对于搜索引擎来讲,最直接面对的就是网页HTML代码,若是代码写的语义化,搜索引擎就会很容易的读懂该网页要表达的意思。
- 利用布局,把重要内容HTML代码放在最前
搜索引擎抓取HTML内容是从上到下,利用这一特色,可让主要代码优先读取,让爬虫最早抓取
- 重要内容不要用JS输出
爬虫不会读取JS里的内容,因此重要内容必须放在HTML里
- 尽少使用iframe框架
搜索引擎不会抓取到iframe里的内容,重要内容不要放在框架中。
- 为图片加上alt属性
alt属性的做用是当图片没法显示时以文字做为代替显示出来,对于SEO来讲,它能够令搜索引擎有机会索引你网站的图片。
- 须要强调的地方能够加上title属性
在进行SEO优化时,适合将alt属性设置为图片原本的含义,而将 ttitle属性为设置该属性的元素提供建议性的信息。
- 为图片加上长宽
图片大的会排在前面一点。
- 保留文字效果
若是须要兼顾用户体验和SEO效果,在必须用图片的地方,例如个性字体的标题,咱们能够利用样式控制,让文本文字不会出如今浏览器上,但在网页代码中是有该标题的。
注意:不可以使用display:none;的方法让文字隐藏,由于搜索引擎会过滤掉display:none;里边的内容,就不会被蜘蛛检索了。
- 提升网站速度
网站速度是搜索引擎排序的一个重要指标
- 对于指向外部网站的连接要使用rel="nofollow"属性告诉爬虫不要去爬其余的页面