一、爬虫的原理

  1、互联网的概念:互联网是由网络硬件(网线,路由器等)和网络软件(防火墙,浏览器等)连接了一台台的计算机组合而成的,就像一张蜘蛛网一样。

  2、互联网的意义:互联网的核心价值在于数据的交互,数据本来都是存于一台台计算机的硬件设备中的,因为有了互联网,可以实现彼此之间数据的传输与共享。

  3、爬虫的工作方式:模拟浏览器发送请求(requests,selenium) => 下载页面代码 => 只提取有用的数据(bs4,xpath,re) => 存放于数据库或文件中(文件,excel,mysql,redis,mongodb)。

  4、小结爬虫:就是向服务端发起请求,获取并分析提取有用数据的程序。

二、爬虫的基本流程:发起请求 => 获取响应 => 解析内容 => 保存数据

三、请求的组成

  1、请求地址:

    ①通过浏览器调试

    ②使用抓包工具

  2、请求头:分析页面,比较复杂

    ①'user-agent':一般都需要,代表客户端的配置

    ②'cookie':代表登录状态

  3、请求体:分析页面,比较复杂

  4、请求方式:

    ①分析页面,相对容易

    ②常用的请求方式:<post,get>

      -:post与get的请求参数都可以放在url后面

      -:post的请求参数还可以放在请求体内

        --:登录信息,上传文件等数据都会被放在请求体内

        --:输入错误的登录信息再提交,就可以看到请求体的的结构,而正常登录后通常会跳转,就无法捕捉了

    ③非常用的请求方式:<head,put,patch,delete,opthons>

四、响应的格式

  1、json格式:转为字典

  2、xml格式:转为字典

  3、html格式:正则匹配,bs4,xpath等

  4、加密的未知格式

五、提高性能的方式

  1、多进程:计算密集型适用

  2、多线程:受制于cpython的GIL机制,io密集型适用

  3、线程内协程

  4、使用scrapy框架

 

posted on 2020-07-01 01:01  焚音留香  阅读(119)  评论(0编辑  收藏  举报