Python学习之旅(核心编程爬虫篇001爬虫简介)

Python核心编程爬虫篇2021.02.01

指导教师:逻辑教育讲师Jerry

一、爬虫前导知识

1.端口

  • 数据通讯分步:
    • ①找到对方IP
    • ②数据发送到对方指定应用程序上。为了识别每个应用程序,给网络应用程序用数字进行了标识,我们把这个数字标识称作端口(通常称为逻辑端口)
    • ③定义通讯规则。我们一般称之为通讯协议

2.通讯协议

  • 所谓协议就是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则
  • 国际组织定义了通用的通信协议TCP/IP协议(TCP/IPv4版本,TCP/IPv6版本)
  • HTTP又叫做超超本传输协议(是一种通信协议)HTTP它的端口是80
  • HTTPSHTTP + SSL是以安全为目的的HTTP通道。SSL主要用于web的安全传输协议,信息的加密过程就是在SSL中完成

3.网络模型

在这里插入图片描述

  • 后期更新了新的参考模型 TCP/IP参考模型
    在这里插入图片描述

4.HTTP的请求与响应

  • HTTP通信由两部分组成: 客户端请求消息 与 服务器响应消息
  • 请求消息格式包括请求行、请求头部、空行、请求数据四部分。
    在这里插入图片描述

二、爬虫介绍

1.什么是爬虫

  • 简单来说就是代替人去模拟浏览器进行网页操作

2.为什么需要爬虫

  • 为其它程序提供数据源,如搜索引擎;数据分析;人工智能等

3.企业获取数据的方式

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

4.Python做爬虫的优势

  • 支持模块多、代码简洁、开发效率高(scrapy框架)

5.爬虫分类

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

6.爬虫的几个概念

  • GETPOST
    • GET:查询参数都会在url地址上面显示出来,一般情况下只是从服务器上获取数据,没有对服务器造成影响,这种方式就是一个get请求
    • POST:它的查询参数不会显示在url地址的上面,而隐藏在Form表单里面,且post请求会对服务产生影响
  • URL(统一资源定位符)的组成分https://new.qq.com/omn/TWF20200/TWF2020032502924000.html
    • https:协议
    • new.qq.com: 主机名可以将主机理解为一台名叫 new.qq.com的机器。这台主机在qq.com域名下
    • port端口号:80new.qq.com的后面有个80可以省略
    • omn/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=海贼王
  • User-Agent用户代理
    • User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400
    • 记录了浏览器的详细信息,包括操作系统、内核、浏览器版本等
    • 反反爬的第一步
  • refer:表明该请求的url来源。可以用来做反爬的技术。
    Referer: https://daohang.qq.com/?fr=hmpage
  • cookie记录服务器用户相关信息(用于确定用户身份,例如人人账号登录信息)
    • http协议是无状态的。所谓无状态是指服务器无法判断用户的身份
    • cookie实际上是一小段文本信息(key-value字典键值对格式)
    • 反反爬 例如 12306、百度、模拟登陆

7.抓包工具

在这里插入图片描述

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

8.状态码

  • 200:请求成功
  • 301:永久重定向
  • 302:临时重定向
  • 404:请求失败(服务器无法根据客户端的请求找到资源(网页))
  • 500:服务器内部请求
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值