python爬虫基础(一)http基本原理

        网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。
原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。

所以让我们先了解HTTP原理、网页基础知识、爬虫的基本原理、Cookies的基本原理等开始吧!

一、HTTP基本原理

1.URI和URL

         URN只命名资源但不指定如何定位资源,比如一本书的ibsn指定了是这本书但没有指定到哪里去定位这本书。下图是URL、URI、URN的关系图。48a5b783fa894b5e93c92b0a186da4f9.jpeg

 一般的网页链接我们既能称为URI也能称为URL。

2.超文本

      我们在浏览器里看到的网页是超文本解析而成的,其网页源代码是一系列HTML代码,里面包含一系列标签。浏览器解析这些标签后便形成了我们平常看到的网页,而网页的源代码HTML可称为超文本。

3.HTTP和HTTPS

       URL的开头有http、https、htp、sftp、smb等,它们都是协议类型。在爬虫中我们抓取的页面通常是http或https协议的。

        HTTP协议是用于从网络传输超文本数据到本地浏览器的传送协议,它能保证高效而准确地传送超文本文档。HTTP由万维网协会(WorldWideWebConsortium)和Internet工作小组IETF(InternetEngineeringTaskForce)共同合作制定的规范。

       HTTPS简单讲是HTTP的安全版,即HTTP下加入SSL层,简称HTTPS。

       某些网站虽然使用了HTTPS协议,还是会被浏览器提示不安全。如果要爬取这样的站点,就需要设置忽略证书选项,否则会被提示SLL链接错误。

4.HTTP请求过程

        这个过程是浏览器向网站所在的服务器发送了一个请求,网站服务器接收到这个请求后进行处理和解析,然后返回对应的响应,接着传回给浏览器响应里包含了页面的源代码等内容,浏览器再对其进行解析,便将网页呈现了出来。

5.请求

        请求,由客户端向服务端发出,可分为4部分内容:请求方法、请求的网址、请求头、请求体。

        1.请求方法

         常见的请求方法有两种:GET和POST。

          一般来说,登录时,需要提交用户名和密码,期中包含了敏感信息,使用GET方式请求的话,密码就会暴露在URL里面,造成密码泄露,所以这里最好使用POST方式发送。上传文件时,由于文件内容比较大,也会选用POST方式。

 其他的请求方法

          2.请求的网址

           请求的网址,即统一资源定位符URL,它可以唯一确定我们想请求的资源。

          3.请求头

           请求头,用来说明服务器要使用的附加信息,比较重要的信息有Cookie、Referer、User-agent等。http://t.csdn.cn/JMuKL

          4.请求体

           请求体一般承载的内容是POST请求中的表单数据,而对于GET请求,请求体则为空。

6.响应

            响应,由服务端返回给客户端,可以分为三部分:响应状态码、响应头、响应体。

           1.响应状态码

             响应状态码表示服务器的响应状态,如经典的404表示页面未找到。

其他一些响应状态码

            2.响应头

             响应头包含了服务器对请求的应答信息,如Content-Type、Serve、Set-Cookie等。具体响应头含义

             3.响应体

               最重要的当属响应体的内容了,响应的正文数据都在响应体中,比如请求网页时,它的响应体就是网页的HTML代码;请求一张图片,它的响应体就是图片的二进制数据。我们做爬虫请求网页后,要解析的内容就是响应体。

               在浏览器开发者工具中点击Preview,就可以看到网页源代码,也就是响应体的内容,它就是解析的目标。

               在做爬虫时,我们注要通过响应体得到网页源代码、JSON数据等,然后从中做相应内容的提取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值