网络爬虫与HTTP协议

网络爬虫大多都是基于HTTP协议的,要想成为一个网络爬虫高手,熟悉HTTP协议是必不可少的一项基本技能。
网络爬虫基本分为两种一种是基本内嵌浏览器的,可视化的操作,另一种是后台进程运行的,
第一种的好处是操作简单,学习容易,缺点是效率太低,适合于小数据量的采集
第二种的好处是运行效率高,适合大数据量采集,但是需要一些比较专业的技能才能完成
可以根据不用的需求进行选择
HTTP协议是应用层的网络协议,是建立在可靠的网络传输协议TCP之上的,换句话说,HTTP协议是用TCP协议实现的。如下图所示,依据HTTP协议建立的网络服务访问实际是TCP的连接访问。

Web服务器监听着80端口,用户端连接上服务器后,将要访问的URL,爬虫名称(User-Agent)等信息按key:value按行分割组成一个数据串,结尾以“\\r\\n\\r\\n”,将数据串发送给服务器,服务器便根据URL来定位要访问的文件,并将文件的内容以数据流的形式发送给用户端(文件内容之前有一段数据是响应头部,以"\\r\\n\\r\\n"与实际内容分开,这个头部记录的URL对应内容的状态,编码,长度,更新时间,格式等信息,方便用户端解析。

按照这个基本原理,实现用户端访问(爬虫的下载)HTTP服务器的基本步骤如下:
根据URL中的域名,解析得到服务器的IP地址
根据地址,连接服务器的80端口,这样便和web服务器建立了连接
将URL/User-Agent等按行组成字符串,通过建立的连接发送给服务器
尝试从与服务器建立的连接中读取数据,直到能读取到数据为止,先读取到服务器响应的头部,获取返回数据内容的长度,字符编码等,然后在读取到返回的数据内容
对读取到的数据内容进行编码转换,便得到了要下载的资源(网页、文件等)内容。
关闭与服务器建立的连接,便完成了一次HTTP服务器访问过程。

转载请注明出处 数荟集(专业数据提供) http://www.shuhuiji.com/detail.jsp?id=7

 

转载于:https://www.cnblogs.com/shuhuiji/p/5634785.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值