IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Spider 爬虫笔记 -> 正文阅读

[网络协议]Spider 爬虫笔记


1、基础知识

1.1、html

需要了解 : 网页即相关元素。

相关教程一
相关教程二

1.2、JSON

需要了解 : 接口通许使用比较多的数据格式。

相关介绍一
相关介绍二

1.3、通讯方式

需要了解 : B/S结构如何通讯。

浏览器/服务器结构就是B/S(Browser/Server)结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现。

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

http 教程

http 消息结构

http 请求方法

PS : 一般使用 GET 和 POST 比较多。


2、Robots 协议

指定一个 robots.txt 文件,告诉爬虫引擎什么可以爬取。

没啥东西的示例

有 sitemap 的示例

sitemap 提供 站点地图,供爬虫使用。


3、分析工具

3.1、浏览器 F12

浏览器 F12 Network.XHR - XMLHttpRequest : 表示 ajax 异步请求

3.2、抓包工具

3.2.1、Fiddler

官网

复杂的网络分析,建议使用工具。不是使用 F12, F12 毕竟不精确。

默认 代理服务器 127.0.0.1 ,端口 8888

配置使用:一般配合 浏览器使用,设置 专门的浏览器 全部请求都将经过 Fiddler,方便测试和使用;

不配置不支持 Https

Fiddler 导出证书,浏览器安装证书。即可捕获 Https

https 使用 ssl 安全套接层协议,在传输层对网络数据进行加密。 使用的时候需要证书,而证书需要 CA 认证。


4、爬虫常见的反爬策略与反爬攻克手段

4.1、反爬策略1

通过 UA 限制或者其他头信息限制;

解决方案:

构建用户代理吃或其他头信息;

注意 : 正常浏览器可以访问,其他方法访问受限。 推测一般都是通过 头信息 进行反爬;

4.2、反爬策略2

通过访问者 IP 限制;

解决方案:

构建 IP 代理池;

PS : 浏览不能正常访问,一般都是 IP 受限;

4.3、反爬策略3

通过验证码限制;

解决方案:

手工打码、验证码接口自动识别或者通过机器学习自动识别;

4.4、反爬策略4

通过数据的异步加载限制;

解决方案:

抓包分析或者使用 PhantomJS ;

4.5、反爬策略5

通过 Cookie 限制;

解决方案:

进行 Coolie 处理;

4.6、反爬策略6

通过 JS 限制(如请求的数据通过 JS 随机生成等);

解决方案:

分析 JS 解密或者使用 PhantomJS;


5、常用框架

5.1、爬虫框架

PS : 此部分列举一些常用的实用框架。不包含基础框架,学习建议从基础框架及原理掌握开始。

5.1.1、Requests

用途 : 爬虫框架。(推荐)

官方文档

教程

5.1.2、PhantomJS

用途 : 实现爬虫相关功能

官网

优点 : 不需要 抓包分析;

缺点 : 慢;

5.1.3、Scrapy

用途 : 爬虫框架

官方网站

PS : 可以实现分布式爬虫。

5.2、数据处理(处理爬回来的数据)

5.2.1、simplejson

用途 : json 相关处理

官网

文档

5.2.2、pandas

用途 : 数据分析、文件处理等

官网

教程

5.2.3、其他处理 Excel 的框架

原文
文章中一个图比较经典,借用一下

在这里插入图片描述


  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-22 15:00:59  更:2021-09-22 15:01:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/27 2:09:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码