Python爬虫(二):前导知识

端口

  • 每个应用程序都有自己的独立标识,那么这个表示我们称之为端口

通讯协议

  • 国际组织定义了通讯协议 TCP/IP协议
  • 所谓协议就是计算机共同遵守的规定或规则
  • HTTP协议(超文本传输协议)(一种通讯协议)(端口号:80)

网络模型

  • HTTPS = HTTP + SSL (端口:443)(以安全为目标的HTTP通道)

HTTP的请求和响应

General 全部的

Request URL 请求的地址

Request Method 请求方法,一般情况下网站上是什么方式,爬虫代码就写什么请求方式,但是具体情况具体分析

Status Code 状态码

如果是静态网页,数据都在源码里面

如果是动态网页,这个Request URL的去分析,查找response,去看响应结果

Response Header 服务器的响应

Request Headers 客户端的请求

重要参数:

get 请求的方法 以及目标url参数 一般不加

Host 主机端口号、域名 可加可不加

Connection keep-alive 保持长连接 一般不加

Uer-Agent 用户代理 防止网站来检查ua 反反爬的第一步 加

Accept-Encoding 不要添加 数据会有问题

Cookie 记录用户相关信息(加不加视情况而定)(有时间限制)

referer 表明当前页面从哪个页面过来 视情况而定 有时间限制

Query String Parameters 参数 (在Payload页面下)

爬虫介绍

什么是爬虫

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

为什么需要爬虫

  • 为其它的程序提供数据源(搜索引擎、应用)

  • 数据分析

    快乐 采风 高校 风景 …… 种类 收藏 多少会有点不同 视频 你喜欢什么? 数据—>分析

    抖音广告越来越多 直播带货非常火 原因是什么?

    • 流量大
    • 变现
    • 热度 非常活跃
  • 人工智能

    • 学习人工智能(门槛太高)

      1.Python高级开发水平

      2.数学基础

    • 科技公司 高等大学

    • 智能家居 无人驾驶 人脸识别 智能语言……

  • ……

公司获取数据的方式

  • 公司自有的
  • 第三方数据平台
    • 免费的 百度指数
    • 付费的 数据堂
  • 爬虫爬取的数据

Python做爬虫的优势

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

爬虫分类

  • 通用网络爬虫 例如 百度 谷歌
  • 聚焦网络爬虫 根据既定的目标 有选择的抓取某一特定主题的内容

几个概念

get和post方法

  • get特点

    一般情况下只从服务器获取数据,没有对服务器产生影响,通常都是get请求

    请求参数可以在url地址上显示出来

  • post特点

    向服务器发送数据(登录、上传文件……)

    会对服务器产生影响那么通常都是使用的是post请求

    请求参数不会再url地址之上显示出来

URL

全球统一资源定位符

https://gufanstudy.github.io/archives/

https 网络协议

gufanstudy.github.io 域名

archives/ 访问资源路径

anchor 锚点(前端页面定位)

User-Agent

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36

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

一般会作为反反爬的第一步,80%的网站都会检查

Cookie

记录用户相关的信息

http本身是无状态的,服务器无法判断用户的身份。对同一个网站发起多次请求,服务器无法判断是否来自同一个人

作用:

  • 反反爬
  • 模拟登录

状态码

部分:

  • 200:请求成功
  • 301:永久重定向
  • 302:临时重定向
  • 404:请求失败
  • 500:服务器内部请求

重定向:

一个网址定向到另一个网址

抓包工具

谷歌浏览器自带,右键-检查 或 F12

Elements 元素

网页源代码 最终渲染结果

用于提取数据 分析数据

Console 控制台

后期分析JS代码,根据打印结果,分析代码

前期用不到

Sources 资源

信息的来源

整个网站加载的资源

分析JS代码时使用,调试,打断点

前期用不到

Network 网络工作

数据抓包

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值