热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

服务器处理蜘蛛抓取网页的过程,搜索引擎蜘蛛抓取页面过程图解

学习seo的人经常在网上看到一句话:搜索引擎蜘蛛跟浏览器差不多,都是抓取页面。那么到底哪些一样哪些不一样?Ethan就通过浏览器帮助大家理

学习seo的人经常在网上看到一句话:搜索引擎蜘蛛跟浏览器差不多,都是抓取页面。那么到底哪些一样哪些不一样?Ethan就通过浏览器帮助大家理解搜索引擎蜘蛛怎样抓取页面。

首先看一张图,是用firebug(firefox浏览器的一个著名插件)记录下来的浏览器抓取我网站的情况。

针对图中标识,Ethan解释如下。

1.http协议开始,HTTP协议是典型的请求/响应模式,客户端请求服务器,然后客户端和服务器建立临时通道,然后服务器返回响应。这里浏览器是一种客户端程序,搜索引擎蜘蛛也是一种客户端程序。客户端向服务器发送请求行,然后是请求头信息。图中左上角有“GET www.***.com”,反映了请求行的内容,真正的请求行是下面这行,firebug没有明示:

“GET / HTTP/1.1”

这行的格式是:

请求方法(get、post等)+一个空格+请求的URL(这里“/”表示首页)+一个空格+http协议版本(现在通常是HTTP/1.1,就是http协议1.1版)

记住这个格式,我们在服务器日志里还会看到这种格式的数据。

请求行后面紧跟着请求头信息,其中第一行是host字段,指明了服务器是www.***.com,这是个域名,通过DNS域名解析,变成ip地址,也就是服务器的物理地址。

2.ip地址,后面冒号加80,表明访问的是服务器的80端口。服务器一直处于待命状态,侦听80端口,一旦发现有符合HTTP协议的头信息发过来,就和客户端建立一个临时通道,然后进行内部处理,并把结果通过临时通道返回给客户端。在这个处理的同时,服务器还可以接受其它HTTP请求。

3.客户端开始接收响应信息,最先过来的是状态行,真正的状态行是下面这行,firebug没有明示:

“HTTP/1.1 200 OK”

这里的200就是状态码,表示网页顺利打开。

4.然后客户端收到响应头信息。

5.最后客户端收到响应主体,也就是html代码。

6.注意这里浏览器和搜索引擎蜘蛛不同,浏览器会对html代码进行处理,呈现出我们看得懂的网页;搜索引擎蜘蛛则只负责抓取,把html代码存在数据库里,自己快速去抓取下一个网页。搜索引擎在各地都有蜘蛛服务器,每个服务器同时放出很多蜘蛛,日夜不停地抓取网页。

7.注意响应头信息里有一行gzip,表示html代码经过了gzip压缩。不过没有关系,浏览器和搜索引擎蜘蛛都可以解压缩gzip文件。

8.html代码的大小,如果不压缩,远不止6k。搜索引擎对网页文件大小有个上限,一种说法是128k(未压缩),超过128k的内容不再抓取。

9.注意User-Agent,正是请求头信息里的这个字段,告诉服务器抓取网页的是浏览器还是搜索引擎蜘蛛。有的服务器为了不让百度蜘蛛抓取,会封禁百度蜘蛛的User-Agent,参见百度站长俱乐部发布的百度Spider User-Agent字段更新通知。

本文为www.seowlyx.com的站长梁波(Ethan)原创,转载请注明,谢谢!

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com

特别注意:本站所有转载文章言论不代表本站观点!

本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。



推荐阅读
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • JavaWeb介绍概念JavaWeb,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有javaapplet,不过使 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
  • CentOS7系统目录LINUX有四种基本文件系统类型普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、 ... [详细]
  • pyecharts 介绍
    一、pyecharts介绍ECharts,一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部 ... [详细]
  • 校内无法访问IEEE等部分数据库的解决方案
    解决了校内无法访问IE ... [详细]
  • 前端提高篇(七十):SVG基本使用、基本样式、路径path
    SVG是使用XML来描述二维图形和绘图程序的语言。SVG遵循的是xml的规范,与html5的使用有所区别SVG绘制出来的是矢量图,放大之后不会失真官方文 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 我只是互联网中的菜鸟一个,由于心血来潮也整了一个个人站,但在网络中游荡了大半个世纪,才发现给网站定位是多么的重要,只有好的运营模式及盈利模式,网站才能发展的更好,否则累死也赚不服务 ... [详细]
author-avatar
快乐天使小可爱66
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有