飞道的博客

爬虫简介

471人阅读  评论(0)

1.通讯协议

1.1端口

  • 数据通讯步骤
    • 找到对方IP
    • 数据要发送到对⽅指定的应⽤程序上。为了标识这些应⽤程序,所以给这些⽹络应⽤程序都⽤数字进⾏了标识,这个数据标识称作端⼝(逻辑端口)。
    • 定义通讯规则,这个通讯规则一般称之为协议。

1.2通讯协议

  • 国际组织定义了通用的通信协议TCP/IP协议
  • 所谓协议就是计算机通信网络中计算机间进行通讯必须遵守的规定
  • HTTP通信协议又叫做超文本传输协议,它的端口是80

2.网络模型


后期更新了TCP/IP参考模型

2.1 HTTPS

  • https = http + ssl,https是在http的基础上加上了ssl保护壳,信息加密过程就是在ssl中完成的
  • https是以安全为目标的http通道,简单来讲是http的安全版,即http下加入ssl层,https的安全基础是ssl

2.2 SSL

  • SSL也是⼀个协议主要⽤于web的安全传输协议

3.爬虫介绍

3.1什么是爬虫?

  • 代替人去模拟浏览器进行网页操作,获取大量数据

3.2为什么需要爬虫?

  • 获取大量数据,为其它程序提供数据源。如搜索引擎(百度、Google等)、大数据、数据分析等

3.3企业获取数据的方式

  • 公司自有数据
  • 第三方平台购买数据(百度指数、数据堂等)
  • 爬虫爬取数据

3.4Python做爬虫的优势

  • PHP:多线程、异步支持不太好
  • Java:代码量大
  • C/C++:代码量大,难以编写
  • Python:支持模块多、代码简洁、开发效率高(scrapy框架)

3.5爬虫的分类

  • 通⽤⽹络爬⾍。例如 baidu、google、yahu等
  • 聚焦⽹络爬⾍: 根据既定的⽬标有选择的抓取某⼀特定主题内容
  • 增量式⽹络爬⾍: 指对下载⽹⻚采取增量式的更新和只爬⾏新产⽣的或者已经发⽣变化的⽹⻚爬⾍
  • 深层⽹络爬⾍: 指那些⼤部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有⽤户提交⼀些关键词才能获得的web⻚⾯ 例如:⽤户登录注册才能访问的⻚⾯

4.几个概念

4.1GET和POST

  • GET:查询参数都会在URL上显示出来
  • POST:查询参数和需要提交数据是隐藏在Form表单里,不会在URL地址上显示出来

4.2URL组成部分

  • URL:统一资源定位符
  • https://new.qq.com/omn/TWF20200/TWF2020032502924000.html
  • https: 协议
  • new.qq.com: 主机名可以将主机理解为⼀台名叫 news.qq.com 的机器。这台主机在 qq.com 域名下
  • port 端⼝号: 80 /new.qq.com 在他的后⾯有个 :80 可以省略
  • TWF20200/TWF2020032502924000.html 访问资源的路径
  • #anchor: 锚点⽤前端在做⻚⾯定位的
  • 注意 : 在浏览器请求⼀个url,浏览器会对这个url进⾏⼀个编码。(除英⽂字⺟、数字和部分标识其他的全部使⽤% 加⼗六进制码进⾏编码)。例如:
    • https://tieba.baidu.com/f?ie=utf-8&kw=%E6%B5%B7%E8%B4%BC%E7%8E%8B&fr=search
    • %E6%B5%B7%E8%B4%BC%E7%8E%8B = 海贼王

4.3User-Agent用户代理

  • 作用:记录用户的浏览器、操作系统等,为了让用户获取HTML页面效果

4.4 Refer

  • 表明当前这个请求是从哪个url过来的。⼀般情况下可以⽤来做反爬的技术

4.5状态码

  • 200 : 请求成功
  • 301 : 永久重定向
  • 302 : 临时重定向
  • 403 : 服务器拒绝请求
  • 404 : 请求失败(服务器⽆法根据客户端的请求找到资源(⽹⻚))
  • 500 : 服务器内部请求

5.抓包模式

  • Elements : 元素 ⽹⻚源代码,提取数据和分析数据(有些数据是经过特殊处理的所以并不是都是准确的)
  • Console : 控制台 (打印信息)
  • Sources : 信息来源 (整个⽹站加载的⽂件)
  • NetWork : ⽹络⼯作(信息抓包) 能够看到很多的⽹⻚请求

转载:https://blog.csdn.net/D_Toro/article/details/106691912
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场