| |
|
开发:
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页面的方法。 PS : 一般使用 GET 和 POST 比较多。 2、Robots 协议指定一个 robots.txt 文件,告诉爬虫引擎什么可以爬取。 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地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/26 1:32:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |