Initial commit

This commit is contained in:
Dichgrem 2024-03-18 13:02:29 +08:00
parent b39b258a16
commit 0869f3c422
2 changed files with 139 additions and 62 deletions

View File

@ -20,7 +20,7 @@ tags = ["Searching"]
搜索引擎原理可以简单分为三个过程:爬行,索引,排名。
爬行
**爬行**
爬行是谷歌爬虫抓取并解析页面HTML的过程。这个时候爬虫看到的类似纯文字版的网页快照。也就是未执行CSS和JS的页面。这个时候谷歌会记录网页的一些相关信息比如标题关键词原描述文本内容链接等。
@ -28,59 +28,57 @@ tags = ["Searching"]
蜘蛛的爬取方式分为两种:
纵向抓取:蜘蛛在网站上发现一个链接,就会沿着这个链接一直深入,发现一个,抓一个,直到无法再找到新链接。
**纵向抓取**:蜘蛛在网站上发现一个链接,就会沿着这个链接一直深入,发现一个,抓一个,直到无法再找到新链接。
横向抓取:蜘蛛在网站上发现一个链接,先将第一层级的链接全部爬取完,再进入第二层级抓取,直到爬取完网站的最深层级。
**横向抓取**:蜘蛛在网站上发现一个链接,先将第一层级的链接全部爬取完,再进入第二层级抓取,直到爬取完网站的最深层级。
网站的纵向抓取和横向抓取往往是同时进行的理论上只要给予足够的时间那么蜘蛛就会将网站上的所有链接全部抓取。但是由于资源的限制我们在查看蜘蛛的crawl记录时就会发现其实很多页面并没有被爬取。
既然蜘蛛没有办法爬行所有页面,那么那些页面会优先抓取呢?
高DA和高PA页面即网站和页面的权重高蜘蛛就会优先爬取
- 高DA和高PA页面即网站和页面的权重高蜘蛛就会优先爬取
更新时间:页面更新频繁会吸引蜘蛛抓取
- 更新时间:页面更新频繁会吸引蜘蛛抓取
导入链接:高权重的导入链接,这也就是外链要尽量选择高权重网站的原因
- 导入链接:高权重的导入链接,这也就是外链要尽量选择高权重网站的原因
与首页距离:层级距离首页越近,权重越高,越可能被蜘蛛爬取
- 与首页距离:层级距离首页越近,权重越高,越可能被蜘蛛爬取
地址库
**地址库**
网络上的资源非常丰富和繁杂,为了节省资源,搜索引擎会建立一个地址库,将已经发现但是并没有抓取的页面和已经抓取的页面记录在里面。
地址库的网址往往有以下三种来源:
人工录入的种子网站
- 人工录入的种子网站
蜘蛛爬取页面后解析出网址,如果不存在,就录入
- 蜘蛛爬取页面后解析出网址,如果不存在,就录入
通过站长工具提交网址例如google search console
- 通过站长工具提交网址例如google search console
索引
**索引**
在索引(indexing)过程中谷歌会将被抓取的页面内容组织起来形成一个巨大的索引库。谷歌的Caffeine索引机制又会对网页进行渲染执行CSS和JS从而更好地理解你网页的内容。
建立索引
- 提取文字搜索引擎会提取页面中的可见文字以及包含文字信息的代码。如meta标签alt属性锚文本等
提取文字搜索引擎会提取页面中的可见文字以及包含文字信息的代码。如meta标签alt属性锚文本等
- 分词例如对于Where can I buy a high quality table,那么a high quality table就会被视为一个词而不是buy a high。对于不同国家的文字每个搜索引擎的分词方式都是有区别的。
分词例如对于Where can I buy a high quality table,那么a high quality table就会被视为一个词而不是buy a high。对于不同国家的文字每个搜索引擎的分词方式都是有区别的
- 去停止词:不论英文还是中文都会经常出现一些对于页面主体内容没有多大影响,但是出现频率较高的词,例如语气词,介词,副词,感叹词等。搜索引擎会在建立这些页面之前去除这些词
去停止词:不论英文还是中文都会经常出现一些对于页面主体内容没有多大影响,但是出现频率较高的词,例如语气词,介词,副词,感叹词等。搜索引擎会在建立这些页面之前去除这些词
- 消除噪声:页面上会存在一部分内容对于确认页面主题并无帮助,例如版权声明,导航等。这些内容也会在存入索引之前被清除
消除噪声:页面上会存在一部分内容对于确认页面主题并无帮助,例如版权声明,导航等。这些内容也会在存入索引之前被清除
- 去重:因为搜索引擎并不喜欢重复的内容,所以对于重复度过高的页面也是会被清除的。因此我们网站的页面内容一定要尽可能的稀释重复度
去重:因为搜索引擎并不喜欢重复的内容,所以对于重复度过高的页面也是会被清除的。因此我们网站的页面内容一定要尽可能的稀释重复度
- 正向索引:经过上述步骤之后,搜索引擎得到的就是可以反应页面主题的内容,他会记录每个关键词在页面上出现的频率,格式,位置,然后将这些数据存储在索引库中
正向索引:经过上述步骤之后,搜索引擎得到的就是可以反应页面主题的内容,他会记录每个关键词在页面上出现的频率,格式,位置,然后将这些数据存储在索引库中。
- 倒排索引:正向索引是将页面对应到关键词,倒排索引是将关键词对应到页面。这样用户在搜索的时候,可以迅速确定页面
倒排索引:正向索引是将页面对应到关键词,倒排索引是将关键词对应到页面。这样用户在搜索的时候,可以迅速确定页面
- 链接关系计算链接关系计算是针对内链和外链维度包括链接的数量导入链接权重。Google PR就是这个计算结果的体现。
链接关系计算链接关系计算是针对内链和外链维度包括链接的数量导入链接权重。Google PR就是这个计算结果的体现
- 特殊文件谷歌不仅可以抓取html网页,对于PDFTXTWord这种文字占比例较高的文件也是可以抓取的
特殊文件谷歌不仅可以抓取html网页,对于PDFTXTWord这种文字占比例较高的文件也是可以抓取的。
排名
**排名**
排名过程其实在爬取和索引的时候就开始了。到了索引阶段,谷歌会为网页计算一些指标,作为排名算法的初始数据。当用户搜索问题时,谷歌会进行语义分析,理解用户搜索意图,并执行排名算法,根据页面相关性得分为每个页面排序,最终形成搜索结果页面。
@ -92,23 +90,23 @@ tags = ["Searching"]
相关性计算(最重要的一步):
1. 关键词常用度:越常用的词对于搜索词的用处越小
- 关键词常用度:越常用的词对于搜索词的用处越小
2. 关键词密度:密度越大,该页面的相关性越高,但是现在这个因素对于页面的排名已经不太重要。
- 关键词密度:密度越大,该页面的相关性越高,但是现在这个因素对于页面的排名已经不太重要。
3. 关键词的位置和形式粗体H标签都表明这是较为重要的关键词位于段落开头的关键词比段尾的关键词拥有更高的权重所以建议将搜索量最高的关键词放在段首其余关键词较为自然的分布的文章中。
- 关键词的位置和形式粗体H标签都表明这是较为重要的关键词位于段落开头的关键词比段尾的关键词拥有更高的权重所以建议将搜索量最高的关键词放在段首其余关键词较为自然的分布的文章中。
4. 关键词匹配度:能够完整的匹配用户的搜索词,证明页面的相关性越高。
- 关键词匹配度:能够完整的匹配用户的搜索词,证明页面的相关性越高。
5. 页面权重页面权重和很多因素相关例如导入链接DA域名权重等。
- 页面权重页面权重和很多因素相关例如导入链接DA域名权重等。
排名过滤现在已经基本得到了关键词的排名但是对于曾经有过作弊为行为的网站谷歌会对其ranking进行下调以示惩罚。
- 排名过滤现在已经基本得到了关键词的排名但是对于曾经有过作弊为行为的网站谷歌会对其ranking进行下调以示惩罚。
页面显示排名确定后搜索引擎会调用页面的meta标签也就是title和description。
- 页面显示排名确定后搜索引擎会调用页面的meta标签也就是title和description。
搜索缓存:对于重复搜索词,搜索引擎是会将结果进行缓存的。
- 搜索缓存:对于重复搜索词,搜索引擎是会将结果进行缓存的。
搜索日志搜索引擎会将用户的搜索词点击网页ip,搜索时间都进行记录,便于判断搜索结果的质量,调整算法,预测搜索趋势等。
- 搜索日志搜索引擎会将用户的搜索词点击网页ip,搜索时间都进行记录,便于判断搜索结果的质量,调整算法,预测搜索趋势等。
## 三.SEO与搜索技巧
@ -120,43 +118,45 @@ tags = ["Searching"]
例如,
精确搜索:“关键词”,利用双引号 ,这样关键词不会被拆分
- 精确搜索:“关键词”,利用双引号 ,这样关键词不会被拆分
模糊搜索:关*词,利用*号代替文字
- 模糊搜索:关*词,利用*号代替文字
site查找指定网站的所有页面site:网站链接
- site查找指定网站的所有页面site:网站链接
关键词site查找指定网站的关键词关键词 site:网站链接
- 关键词site查找指定网站的关键词关键词 site:网站链接
关键词A +关键词B同时搜索多个关键词+前面记得加空格
- 关键词A +关键词B同时搜索多个关键词+前面记得加空格
关键词A -关键词B排除搜索结果中不想看到的内容-前面记得加空格
- 关键词A -关键词B排除搜索结果中不想看到的内容-前面记得加空格
intitle标题中含搜索词的内容intitle:关键词
- intitle标题中含搜索词的内容intitle:关键词
intext正文中含搜索词的内容intext:关键词
- intext正文中含搜索词的内容intext:关键词
inurlurl网址中含搜索词的内容url:关键词
- inurlurl网址中含搜索词的内容url:关键词
filetype搜索指定格式的文件关键词 filetype:格式后缀
- filetype搜索指定格式的文件关键词 filetype:格式后缀
叠加使用方法:比如排期搜索结果中不想看到的网址,搜索词 -site:网站链接
- 叠加使用方法:比如排期搜索结果中不想看到的网址,搜索词 -site:网站链接
## 四.补充
什么是 robots.txt
- 什么是 robots.txt
robots.txt 文件可以指定那些我们不希望被爬虫访问的页面,比如,管理页面、登录页面或者其他不重要的页面等。这样做的原因是,一般来说搜索引擎分配给每个网站的爬行预算是固定的,如果我们将预算浪费在不重要的页面,那么相对应的,我们那些重要的页面,比如产品分类页,产品详情页,被收录的概率就会变低。下方是淘宝的 robots.txt
```
User-agent: Baiduspider
Disallow: /
User-agent: baiduspider
Disallow: /
Disallow: /
```
什么是站点地图
- 什么是站点地图
站点地图可以列出网站上所有的页面,比如产品分类,产品详情页,新闻博客页等。我们将站点地图提交给搜索引擎,可能会帮助爬虫更快地发现我们的网站。谷歌是在谷歌站长后台提交站点地图,其他搜索引擎同理。
![图片-vveb.webp](https://pic.dich.ink/1/2024/03/06/65e86690b2b44.webp)

View File

@ -100,43 +100,80 @@
<p>1998年全球最大的搜索引擎Google成立一种查找网页的自动化程序也开始被应用这种程序就叫爬虫。</p>
<h2 id="er-pa-chong">二.爬虫</h2>
<p>搜索引擎原理可以简单分为三个过程:爬行,索引,排名。</p>
<p>爬行</p>
<p><strong>爬行</strong></p>
<p>爬行是谷歌爬虫抓取并解析页面HTML的过程。这个时候爬虫看到的类似纯文字版的网页快照。也就是未执行CSS和JS的页面。这个时候谷歌会记录网页的一些相关信息比如标题关键词原描述文本内容链接等。</p>
<p>对于新站其实最需要解决的就是收录。互联网也就是一张由无数链接形成的大网蜘蛛spider通过跟踪链接访问页面当发出页面访问请求之后服务器会返回HTML代码。蜘蛛会将采集到的程序收入原始页面数据库。</p>
<p>蜘蛛的爬取方式分为两种:</p>
<p>纵向抓取:蜘蛛在网站上发现一个链接,就会沿着这个链接一直深入,发现一个,抓一个,直到无法再找到新链接。</p>
<p>横向抓取:蜘蛛在网站上发现一个链接,先将第一层级的链接全部爬取完,再进入第二层级抓取,直到爬取完网站的最深层级。</p>
<p><strong>纵向抓取</strong>:蜘蛛在网站上发现一个链接,就会沿着这个链接一直深入,发现一个,抓一个,直到无法再找到新链接。</p>
<p><strong>横向抓取</strong>:蜘蛛在网站上发现一个链接,先将第一层级的链接全部爬取完,再进入第二层级抓取,直到爬取完网站的最深层级。</p>
<p>网站的纵向抓取和横向抓取往往是同时进行的理论上只要给予足够的时间那么蜘蛛就会将网站上的所有链接全部抓取。但是由于资源的限制我们在查看蜘蛛的crawl记录时就会发现其实很多页面并没有被爬取。</p>
<p>既然蜘蛛没有办法爬行所有页面,那么那些页面会优先抓取呢?</p>
<ul>
<li>
<p>高DA和高PA页面即网站和页面的权重高蜘蛛就会优先爬取</p>
</li>
<li>
<p>更新时间:页面更新频繁会吸引蜘蛛抓取</p>
</li>
<li>
<p>导入链接:高权重的导入链接,这也就是外链要尽量选择高权重网站的原因</p>
</li>
<li>
<p>与首页距离:层级距离首页越近,权重越高,越可能被蜘蛛爬取</p>
<p>地址库</p>
</li>
</ul>
<p><strong>地址库</strong></p>
<p>网络上的资源非常丰富和繁杂,为了节省资源,搜索引擎会建立一个地址库,将已经发现但是并没有抓取的页面和已经抓取的页面记录在里面。</p>
<p>地址库的网址往往有以下三种来源:</p>
<ul>
<li>
<p>人工录入的种子网站</p>
</li>
<li>
<p>蜘蛛爬取页面后解析出网址,如果不存在,就录入</p>
</li>
<li>
<p>通过站长工具提交网址例如google search console</p>
<p>索引</p>
</li>
</ul>
<p><strong>索引</strong></p>
<p>在索引(indexing)过程中谷歌会将被抓取的页面内容组织起来形成一个巨大的索引库。谷歌的Caffeine索引机制又会对网页进行渲染执行CSS和JS从而更好地理解你网页的内容。</p>
<p>建立索引</p>
<ul>
<li>
<p>提取文字搜索引擎会提取页面中的可见文字以及包含文字信息的代码。如meta标签alt属性锚文本等</p>
</li>
<li>
<p>分词例如对于Where can I buy a high quality table,那么a high quality table就会被视为一个词而不是buy a high。对于不同国家的文字每个搜索引擎的分词方式都是有区别的。</p>
</li>
<li>
<p>去停止词:不论英文还是中文都会经常出现一些对于页面主体内容没有多大影响,但是出现频率较高的词,例如语气词,介词,副词,感叹词等。搜索引擎会在建立这些页面之前去除这些词。</p>
</li>
<li>
<p>消除噪声:页面上会存在一部分内容对于确认页面主题并无帮助,例如版权声明,导航等。这些内容也会在存入索引之前被清除。</p>
</li>
<li>
<p>去重:因为搜索引擎并不喜欢重复的内容,所以对于重复度过高的页面也是会被清除的。因此我们网站的页面内容一定要尽可能的稀释重复度。</p>
</li>
<li>
<p>正向索引:经过上述步骤之后,搜索引擎得到的就是可以反应页面主题的内容,他会记录每个关键词在页面上出现的频率,格式,位置,然后将这些数据存储在索引库中。</p>
</li>
<li>
<p>倒排索引:正向索引是将页面对应到关键词,倒排索引是将关键词对应到页面。这样用户在搜索的时候,可以迅速确定页面</p>
</li>
<li>
<p>链接关系计算链接关系计算是针对内链和外链维度包括链接的数量导入链接权重。Google PR就是这个计算结果的体现。</p>
</li>
<li>
<p>特殊文件谷歌不仅可以抓取html网页,对于PDFTXTWord这种文字占比例较高的文件也是可以抓取的。</p>
<p>排名</p>
</li>
</ul>
<p><strong>排名</strong></p>
<p>排名过程其实在爬取和索引的时候就开始了。到了索引阶段,谷歌会为网页计算一些指标,作为排名算法的初始数据。当用户搜索问题时,谷歌会进行语义分析,理解用户搜索意图,并执行排名算法,根据页面相关性得分为每个页面排序,最终形成搜索结果页面。</p>
<p>搜索词:对用户输入的搜索词进行去停止词处理,搜索指令处理</p>
<p>文件匹配用户可能搜索的是网页也可能是PDF或者JPG图片。</p>
<p>初始子集选择:因为在这个阶段,能够匹配的网页数量是巨大的,所以会根据页面的权重首先选出一个子集</p>
<p>相关性计算(最重要的一步):</p>
<ol>
<ul>
<li>
<p>关键词常用度:越常用的词对于搜索词的用处越小</p>
</li>
@ -152,35 +189,75 @@
<li>
<p>页面权重页面权重和很多因素相关例如导入链接DA域名权重等。</p>
</li>
</ol>
<li>
<p>排名过滤现在已经基本得到了关键词的排名但是对于曾经有过作弊为行为的网站谷歌会对其ranking进行下调以示惩罚。</p>
</li>
<li>
<p>页面显示排名确定后搜索引擎会调用页面的meta标签也就是title和description。</p>
</li>
<li>
<p>搜索缓存:对于重复搜索词,搜索引擎是会将结果进行缓存的。</p>
</li>
<li>
<p>搜索日志搜索引擎会将用户的搜索词点击网页ip,搜索时间都进行记录,便于判断搜索结果的质量,调整算法,预测搜索趋势等。</p>
</li>
</ul>
<h2 id="san-seoyu-sou-suo-ji-qiao">三.SEO与搜索技巧</h2>
<p>在商业的驱动下催生了一个职业叫搜索引擎优化通常会简称为SEO。</p>
<p>在搜索结果中你会发现很多网站明明不提供有效信息却排名靠前。那是因为它们通过掌握搜索引擎排名的规律利用一些作弊手段“骗”过了程序。例如关键词堆积、隐藏链接、PR劫持、模拟点击、模拟发包等。这些在业内被叫做黑帽SEO。</p>
<p>不过虽然你无法改变算法,但如果想让自己的搜索结果更干净,其实也有一些搜索技巧可以使用。</p>
<p>例如,</p>
<ul>
<li>
<p>精确搜索:“关键词”,利用双引号 ,这样关键词不会被拆分</p>
</li>
<li>
<p>模糊搜索:关<em>词,利用</em>号代替文字</p>
</li>
<li>
<p>site查找指定网站的所有页面site:网站链接</p>
</li>
<li>
<p>关键词site查找指定网站的关键词关键词 site:网站链接</p>
</li>
<li>
<p>关键词A +关键词B同时搜索多个关键词+前面记得加空格</p>
</li>
<li>
<p>关键词A -关键词B排除搜索结果中不想看到的内容-前面记得加空格</p>
</li>
<li>
<p>intitle标题中含搜索词的内容intitle:关键词</p>
</li>
<li>
<p>intext正文中含搜索词的内容intext:关键词</p>
</li>
<li>
<p>inurlurl网址中含搜索词的内容url:关键词</p>
</li>
<li>
<p>filetype搜索指定格式的文件关键词 filetype:格式后缀</p>
</li>
<li>
<p>叠加使用方法:比如排期搜索结果中不想看到的网址,搜索词 -site:网站链接</p>
</li>
</ul>
<h2 id="si-bu-chong">四.补充</h2>
<p>什么是 robots.txt</p>
<ul>
<li>什么是 robots.txt</li>
</ul>
<p>robots.txt 文件可以指定那些我们不希望被爬虫访问的页面,比如,管理页面、登录页面或者其他不重要的页面等。这样做的原因是,一般来说搜索引擎分配给每个网站的爬行预算是固定的,如果我们将预算浪费在不重要的页面,那么相对应的,我们那些重要的页面,比如产品分类页,产品详情页,被收录的概率就会变低。下方是淘宝的 robots.txt</p>
<p>User-agent: Baiduspider</p>
<p>Disallow: /</p>
<p>User-agent: baiduspider</p>
<p>Disallow: /</p>
<p>什么是站点地图</p>
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>User-agent: Baiduspider
</span><span>
</span><span>Disallow: /
</span><span>
</span><span>User-agent: baiduspider
</span><span>
</span><span>Disallow: /
</span></code></pre>
<ul>
<li>什么是站点地图</li>
</ul>
<p>站点地图可以列出网站上所有的页面,比如产品分类,产品详情页,新闻博客页等。我们将站点地图提交给搜索引擎,可能会帮助爬虫更快地发现我们的网站。谷歌是在谷歌站长后台提交站点地图,其他搜索引擎同理。
<img src="https://pic.dich.ink/1/2024/03/06/65e86690b2b44.webp" alt="图片-vveb.webp" /></p>