美文网首页
1、爬虫的概念

1、爬虫的概念

作者: 学飞的小鸡 | 来源:发表于2018-10-31 20:47 被阅读0次

    1、爬虫的概念

    ​ 概念:(spider,网络蜘蛛),通过互联网上一个个的网络节点,进行数据的获取

    ​ 分类:

    ​ 通用爬虫(了解):

    ​ 主要用于搜索引擎(百度、google,搜狗等)

    ​ 搜索引擎工作原理:

    ​ 核心部分:通用爬虫按照整个互联网的拓扑结构,进行批量的爬取,然后进行数据的清洗与筛选,然后存入百度的数据库

    ​ 检索部分:提供给用户一个搜索平台,并且按照一定的顺序把关键字相关的信息展现出来

    ​ 现在的搜索引擎获取数据的方式:

    ​ 1)通过通用爬虫获取(过程比较缓慢)

    ​ 2)主动提交自己的url

    ​ 3)搜索引擎运营商和DNS的运营商合作(向DNS直接要一些有价值的网站)

    ​ 信息的排名规则:

    ​ 1)根据流量(用户的点击量)

    ​ 2)竞价排名,根据一定的规则以及钱财等因素去决定谁在前面

    ​ robots协议:(爬虫的一个约定俗成一个协议)

    ​ 爬虫在取爬取一个网站的时候,首先要读取这个网站robots.txt文件,查看该文件中规定的那些内容可以爬取,那些不可以,在爬取的时候要严格遵从。搜索引擎爬虫在取爬取的时候一定要遵从robots协议,我们写不需要。

    ​ 聚焦爬虫:

    ​ 根据客户或者用户的需求,取定制的爬虫,具有比较强的针对性

    ​ 聚焦爬虫的工作原理:

    ​ 1、数据的抓取

    ​ 面临的问题:http协议、url处理等

    ​ 反爬:用户代理、ip禁止、验证码、会话信息等

    ​ 2、数据的解析

    ​ 遇到的数据:html、xml、json

    ​ 反爬:js动态加载、js加密等

    ​ 3、数据的存储

    ​ csv文件、关系型数据库(mysql)、redis、json等

    ​ 对于爬虫而言最核心的部分是解决反爬

    内容学习

    ​ 1、python基础

    ​ 2、相关的库

    ​ 请求:urllib、requests、scrapy等

    ​ 解析:正则、xpath、bs4、selenium组件等

    ​ 3、多任务处理

    ​ 多进程、多线程、协程

    ​ 4、分布式爬虫的部署

    2、HTTP协议

    ​ 1、什么是HTTP协议?

    ​ 1)是基于请求与响应的应用层协议,底层协议TCP保证了数据可靠传输 2)通过url进行客户端与服务器之间的数据交互 3)是一种C/S(B/S)模式的协议,客户端向服务器发起请求,服务器处理请求并且返回响应 4)该协议是一种无状态的协议(不会记录用户的访问状态)

    ​ 2、http协议过程:

    ​ 1)创建TCP链接:客户端与服务器的三次握手:客户端向服务器发出一个是否同意创建连接的信号、服务器回应给客户是否空闲(即是否可以创建连接) 、客户端再次向服务器发起创建连接的信息进而创建连接;通过三次握手以后客户端和服务器就创建出了一数据通路,接下来就可以保证http协议包的可靠传输了

    ​ 2)客户端向服务器发起http请求:通过url把参数(请求体)以及请求头传递给服务器,请求方式有常见4中,常用get和post

    ​ 请求头:请求头中包含了本次请求的相关的配置信息(比如数据格式、cookie等),决定了客户端和服务器进行数据交流的方式与格式

    ​ 请求体:就是参数,客户端向服务提交的内容

    ​ get和post请求的区别:

    ​ 形式上:get请求参数拼接在url后面 post请求不体现在url中

    ​ 内容上:get请求有数据量的限制(不同的浏览器对url最大长度都有不同的限制),post的请求是不限制请求体数据量的(有的web服务器会有一个最大请求体的限制,比如阿帕奇限制为20M)

    ​ 3)服务器处理请求,并且把处理结果响应给客户端

    ​ 4)关闭连接:TCP的四次挥手

    3、环境

    ​ windows或linux,python3.6 , pycharm(sublime), 后期(scrapy和redis数据库)Ubuntu系统

    4、fiddler

    面试题:

    ​ 1、请您解释一下什么是http协议?

    ​ 2、请谈一下get和post的区别

    ​ 3、http协议和https协议有什么区别?

    ​ 4、http协议的常见状态码,及其含义?

    ​ 5、如何取配置https协议?

    相关文章

      网友评论

          本文标题:1、爬虫的概念

          本文链接:https://www.haomeiwen.com/subject/ssjztqtx.html