服务器处理蜘蛛抓取网页的过程,搜索引擎蜘蛛抓取页面过程图解
学习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
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
服务器处理蜘蛛抓取网页的过程,搜索引擎蜘蛛抓取页面过程图解相关推荐
- Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索
Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索 一.资源 为什么接下来的代码中要使用el.getElementsByTa ...
- 蜘蛛爬取网页服务器卡死,总结搜索引擎蜘蛛抓取不到页面的原因及改善措施
在诊断过程中,我们会遇到这样的问题.有些网页内容很好,用户可以正常访问.然而,搜索引擎蜘蛛只是不能正常访问和抓取它们,导致搜索结果覆盖率不足,这是百度等搜索引擎和网站的损失.百度称之为"抢夺 ...
- matlab抓取网页信息,如何利用Matlab抓取网页数据
如何利用Matlab抓取网页数据 2019-01-01 %朋友需要做金融方面的分析,要求从网站上下载大量的数据,一个一个复制粘贴太费事.我写了一个简单的网络爬虫,主要用到正则表达式,可以自动下载网页源 ...
- java爬虫抓取网页数据论坛_Java爬虫抓取网页
Java爬虫抓取网页原作者:hebedich 原文链接 下面直接贴代码: import java.io.BufferedReader; import java.io.InputStreamReade ...
- python爬取网页停止_Python爬虫之爬取静态网页
所谓网络爬虫,通俗的讲,就是通过向我们需要的URL发出http请求,获取该URL对应的http报文主体内容,之后提取该报文主体中我们所需要的信息.所以,想要学习python爬虫,需要具备一些http的 ...
- python正则表达式爬取网页数据_常用正则表达式爬取网页信息及HTML分析总结
Python爬取网页信息时,经常使用的正则表达式及方法. 1.获取 标签之间内容2.获取 超链接之间内容3.获取URL最后一个参数命名图片或传递参数4.爬取网页中所有URL链接5.爬取网页标题titl ...
- beautifulsoup爬取网页中的表格_PYTHON爬取数据储存到excel
PYTHON爬取数据储存到excel 大家周末好呀,我是滑稽君.前两天上网课时朋友发来消息说需要爬取一些数据,然后储存到excel里.记得我公众号里发过关于爬虫的文章,所以找我帮个忙.于是滑稽君花时间 ...
- python爬取网页数据流程_Python爬虫爬取数据的步骤
爬虫: 网络爬虫是捜索引擎抓取系统(Baidu.Google等)的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 步骤: 第一步:获取网页链接 1.观察需要爬取的多 ...
- python 爬取网页 通知消息_python简单爬取页面信息及实现打开、关闭浏览器
声明:本文仅是为了学习而举例说明python的强大,禁止用于不良目的! 1.python可以打开浏览器并浏览网页,并且保存网页内容到本地硬盘 实现代码如下: import urllib import ...
最新文章
- php设计模式中的类型安全 指--只接受特定的对象 ---以避免发生错误
- ASP.NET MVC学习系列(一)-WebAPI初探
- [并发编程] - 操作系统底层工作原理
- 小伙用智能 AI 修复100 年前京城的老视频
- 如何定位死循环或高CPU使用率(linux)
- javaScript学习笔记之比较运算符||逻辑运算符||条件运算符(三目运算符)
- 在线电脑配置PHP源码,域名授权系统PHP源码 V2.7.0 支持盗版追踪
- 华为企业互动社区云计算板块
- 人要抱着希望才能活得好
- php面向对象封装mysql_PHP mysqli 扩展库(面向对象/数据库操作封装/事务控制/预编译)...
- 常用命令-JAVA大数据-Week5-DAY2-linux
- 简易java电子词典_使用Android简单实现有道电子词典
- SAS计算IV代码分享
- 新手写的一个12306刷票工具
- OpenCV3之——霍夫变换(霍夫线变换和霍夫圆变换)
- C++字符串操作函数strstr,strcmp,strlen,strcpy,strcat,strok
- dos命令之 assoc 用法详解
- JAVA中RandomAccess接口
- 各品牌手机音视频格式支持一览表收藏
- Clickhouse副本与分片
热门文章
- web网页设计期末课程大作业:我的家乡文化主题网站设计——山西
- 【IEEE T-PAMI 2020直播预告】完备性多模态融合技术
- RPA or 爬虫?模拟人工访问某服务平台—增加空间的访问量
- 2016北京集训测试赛(九)Problem C: 狂飙突进的幻想乡
- 基于JAVA SSM框架的学校家长互动学习平台
- 计算机排名2018全国,2018全国90所计算机专业大学排名,分为ABC三个等级
- Spark程序性能优化之persist()
- 建网站论坛需要多大服务器,论坛搭建如何选择服务器
- 解决百度网盘限速超简单
- 基础算法--背包问题(01背包问题、完全背包问题、多重背包问题、分组背包问题)