spider基础

一:互联网简介html

  互联网是由各类计算机设备,经过链接介质相互链接而成的,目的是在不一样的计算机之间传输数据,而且在互联网上有大量的数据是免费的。互联网的目的就是微辣方便彼此之间的数据共享,没有互联网,只能用U盘拷贝了。而爬虫就是用于从互联网中获取有价值的数据,从本质上来看,爬虫是一种应用程序,属于客户端的程序。web

二:爬虫原理 正则表达式

  爬虫是一种应用程序,用于从互联网中获取有价值的数据,从本质上来看,属于client客户端程序。咱们所谓的上网即是由用户端计算机发送请求给目标计算机,将目标计算机的数据下载到本地的过程。chrome

此时用户获取网络数据的方式为:数据库

  浏览器提交请求   -----  下载网页代码 ----- 解析/渲染成页面json

而使用爬虫程序须要作的事情即是:浏览器

  模拟浏览器发送请求 ----- 下载网页代码 ----- 只提取有用的数据 ----- 存放于数据库或者文件中服务器

爬虫的核心即是只提取网页代码中对咱们有用的数据,最终保存获得有价值的数据。cookie

三:爬虫的基本流程网络

  

#一、发送请求
发送请求以前还有一个分析请求:分析web页面获得发送请求必备数据。
使用http库向目标站点发起请求,即发送一个Request
Request包含:请求头、请求体

#二、获取响应内容
若是服务器能正常响应,则会获得一个Response
Resonse包含:html代码,json,图片、视频等

#三、解析内容
解析html数据:正则表达式、第三方解析库如:Beautifulsoup,pyquery等
解析json数据:json模块
解析二进制数据:以二进制模式写进文件

#四、保存数据
保存在数据库、文件等方式。

3.1  HTTP请求分析

  首先要明确的是:爬虫的核心原理就是模拟浏览器发送HTTP协议来偶去服务器上的数据,那么要想服务器接受你的请求,则必须将本身的请求假装的足够像,这就须要HTTP请求分析这一过程。其次,HTTP协议是基于请求响应模型的,客户端发送请求到服务器,服务器接受请求,处理后返回响应数据,须要关注的重点在于请求数据,只有服务器认为合格合法的请求才会获得服务器的响应。

利用Chrome开发者工具来分析请求

   Chrome浏览器提供强大的开发者工具,咱们能够利用它来查看浏览器与服务器的整个通信过程。

 

上图划出了经常使用的几个操做,如清空请求,保留日志等等,另外一个经常使用操做就是清空cookie信息

打开chrome的设置页面搜索cookie就能够找到清空按钮。

请求流程地址分析

1. 请求地址

  浏览器发送的请求url地址

2. 请求方法

  get中文须要url编码,参数跟在地址后面

  post参数放在body中

3. 请求头

 cookie:须要登陆成功才能访问的页面就须要传递cookie,不然不须要cookie

 user-agent:用户代理,验证客户端类型

referer: 引用页面,判断是从哪一个页面点击过来的

 4. 请求体

   只在post请求时须要关注,一般post请求参数都放在请求体中,例如登陆时的用用户名和密码

5.  响应头

   location:重定向的目标地址,仅在状态码为3xx的时候出现,须要考虑重定向时的方法、参数等,浏览器会自动重定向,request模块也会有。

  set-cookie:服务器返回的cookie信息,在访问一些隐私页面是须要带上cookie的

 6. 响应体

  服务器返回的数据,可能如下几种类型:

  HTML格式的静态页面,须要解析获取须要的数据

  json格式的结构化数据,直接就是纯粹的数据

  二进制数据(图片视频等),经过文件操做直接写入文件

 四:总结(价值)

  爬虫就是想网站发送请求,获取资源后分析而且提取有用的数据的应用程序。互联网中最宝贵的就是数据了,例如淘宝的商品数据,链家的房源信息,拉钩的招聘信息等等,这些数据就像一座矿山,爬虫就像是挖矿的工具,掌握了爬虫技术,你就成了矿山老板,各网站都在为你免费提供数据。

相关文章
相关标签/搜索