【爬虫基础】第二部分 爬虫基础理论 P3/3

上节内容回顾:【爬虫基础】第一部分 网络通讯 P1/3-CSDN博客

【爬虫基础】第一部分 网络通讯-Socket套接字 P2/3-CSDN博客

【爬虫基础】第一部分 网络通讯-编程 P3/3-CSDN博客

【爬虫基础】第二部分 爬虫基础理论 P1/3-CSDN博客

【爬虫基础】第二部分 爬虫基础理论 P2/3-CSDN博客

爬虫相关文档,希望互相学习,共同进步

风123456789~-CSDN博客


前言

1.知识点碎片化:每个网站实现的技术相似但是有区别,要求我们根据不同的网站使用不同的应对手段。主要是常用的一些网站爬取技术。

2.学习难度:入门比web简单,但后期难度要比web难,在于爬虫工程师与网站开发及运维人员的对抗。比如你写了爬虫但是被网站运维人员发现后添加反爬,那么就要解决反爬。即平台更新换代,爬虫策略需要实时更新。

3.学习特点:以摸个网站爬虫为讲解对象,即一个技术点的案例。

4.后续发展:要求掌握的东西多,工作中根据工作需要涉及到更多没有接触的知识。

5.法律层面:爬虫相关工作属于灰色地带,目前国内现行法律对于爬虫相关评判还没有明确制度。

6.建议:好记性不如烂笔头,建议多找网站进行爬取联系,同时做好笔记。

1.概述

爬虫通常会遵循一定的规则和算法,以确保能够高效地遍历互联网并收集到所需的数据。

本节章节:

第一节 爬虫理论原理

第二节 http协议

第三节 chrome浏览器抓包说明 (本文)

第一节 爬虫理论原理 见:【爬虫基础】第二部分 爬虫基础理论 P1/3-CSDN博客

第二节 http协议 见: 【爬虫基础】第二部分 爬虫基础理论 P2/3-CSDN博客

2.进入开发者模式

**开发者工具使用:**以Google Chrome浏览器为例,Windows和Linux平台按F12, macOS选择 视图 ->开发者 ->开发者工具或直接使用alt+command+i快捷键,另一通用操作是在网页右击选择检查。

右击检查-开发者工具-network,刷新后列出的是刷新时访问这个网络地址所发送的所有请求。随便点击一个网络包,header时,找到请求头。重点观察请求头部分。

常用标签选项说明

Elements:元素,用于查看或修改HTML标签

Console:控制台,执行js代码,显示脚本输出的调试信息

Sources:源代码,查看静态资源文件,断点调试js代码

Network:网络,查看http协议的通信过程,http请求的详细信息,如请求头、响应头等

3. chrome浏览器抓包说明

知识点:

1.headers请求头说明

2.无痕窗口

3.开发者工具工作簿(网络)

1.preserve log

2.filter过滤

3.类别区筛选

4.放大镜搜索

5.search搜索

6.console控制台

7.sources来源

8.element元素

3.1 headers 请求头说明

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: max-age=0
Connection: keep-alive
Cookie: BIDUPSID=D18E0CF343C1DC46DC0CA99A16BE18C3; PSTM=1682317572; BD_UPN=12314753; newlogin=1; BAIDUID=35D056484E32488A12B4E189D11FA2CE:FG=1; BAIDUID_BFESS=35D056484E32488A12B4E189D11FA2CE:FG=1; COOKIE_SESSION=15_8_6_8_5_11_0_0_6_4_30_3_2781_82656_3_0_1682604006_1682590568_1682604003%7C9%2382625_24_1682590530%7C6; ZFY=9ZFyWo7Lo:BUAL:ASW4KskwxGRSb0pDGxJPrZe1i0sXKc:C; B64_BOT=1; ariaDefaultTheme=undefined; RT="z=1&dm=baidu.com&si=099661dc-c724-4b0c-9509-1fe74c89ab54&ss=lh0aynxo&sl=1&tt=1rl&bcn=https%3A%2F%2Ffclog.baidu.com%2Flog%2Fweirwood%3Ftype%3Dperf&ld=2js&nu=4u4ak2th&cl=74vq&ul=9fq9&hd=9fqp"; BA_HECTOR=8ha0a1a4a5258h8k002k212t1i4pokq1m; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; channel=www.2345.com; baikeVisitId=831ddf12-d1d1-425e-aa33-fb8119db1e31; ab_sr=1.0.1_Y2U3YzkxYjRmN2Q2MTFkMjhiZTVlZTU3NDFhYjQ0NTBjNDhlNWFmM2VhNGUzNDg1NzZkZGIwNTFmNWM5ODY5NDQ3YjMxMjc4NWNmM2Y3ODhiNmUxMGQ0MTE0NDM2NDgwODM2OTIyYmI5NzJmYTJhYTNiMDJiY2YwN2I0ODc4ODFmZDg4Yjg5N2E0ZDRjNmM1MDVjN2QyOWZiMDBlODc4NQ==; BD_HOME=1; H_PS_PSSID=38516_36545_38529_38469_38538_38468_38486_37923_37709_26350_38544
Host: www.baidu.com
sec-ch-ua: "Chromium";v="112", "Google Chrome";v="112", "Not:A-Brand";v="99"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36

说明:

user_agent:浏览器的身份,目的:欺骗服务器

Cookie:用户(浏览器)的缓存,缓存的用户信息(身份信息)或者是浏览记录信息

身份信息在库中,有一部分是记录权限信息、加密信息等权限机制

Host:服务器的域名

referer:来源,目的是告诉对方服务器,本请求的来源。

3.2 无痕窗口

(1)进入无痕模式

在浏览器,点击右键 或者浏览器右上角,点击"打开新的无痕模式窗口",即可进入。

(2)说明

Chrome 不会保存:

1.您的浏览记录

2.Cookie 和网站数据

3.在表单中填写的信息

重点:

无痕模式下:

对地址访问成功,代表该地址的headers只需要一个ua一个键值对

通过无痕模式来判断地址的访问需要那些headers的键值对

非无痕模式下:

打开一个新的浏览器窗口,访问地址,能够访问,说明header中需要ua,cookie即可

除上述操作,地址还是不能够访问,则需要携带referer字段

3.3.开发者工具工作簿(网络)

(1)进入

如浏览器进入开发者模式后,输入网址 https://www.2345.com/tg36612.htm

(2)filter过滤

(3)功能区

A. preserve log

一般情况下,每刷新一次网址,会重新加载,不会保留之前的包。

但如果勾上"preserver log", 打开新网址时依然会保留之前的抓包情况。

如下: 打开百度 -》抓包后 --》同页面打开淘宝 --》勾选了后发现百度的包依然在

B. filter过滤

将网址中的一部分输入过滤器,快速找到网址中包含内容的网址。

目的:过滤抓包区域的包,规则自定义

如:tg36612.htm

说明:一般访问网址时,浏览器的包会在第一个位置

C.类别区筛选

如下图:

说明:

all: 显示所有包
XHR:异步加载的包显示位置

js:js文件的请求

CSS:CSS文件的请求

img:对图片的请求

WS: 实时爬虫

3.4.放大镜搜索

点击放大镜,左边输入框,可进行"全局搜索"。其实搜索了非js的包。

3.5.search搜索

点击右上角,点击三个点,即可打开 seach 搜索。

输入搜索内容,可进入全局搜索。

3.6.console控制台

有两个位置:1)seach 左边的console 2)开发者工具中提供的tab

控制台的作用:为了执行前端的代码。

3.7.sources来源

源代码,查看静态资源文件,断点调试js代码

帮助进行代码的断点调试,主要js 断点调试。

代码的调试观察

js断点调试

3.8.element元素

代表当前网页显示给你的所有数据的标签结构。

1)同步加载:在浏览器上你能观察到你要采集的数据

在浏览器的地址的响应中,找到了你想采集的数据,同步加载

2)异步加载:在浏览器上你能观察到你要采集的数据

在浏览器的地址的响应中,没有找到你想采集的数据,异步加载

3.9 Network 的主要信息

Headers:http的头信息

Response:http的响应体信息

General:主要信息

Response Headers:http响应头信息

Request Headers:http请求头信息

get 请求报文:

post请求报文:

注意:法律和道德问题

在使用爬虫时,需要遵守一定的法律和道德准则,尊重网站的隐私政策和使用条款,确保合法和负责任地使用爬虫技术。

今天先到这里吧~~

预知后事如何,且听下回分解~ ok


项目管理--相关知识

项目管理-项目绩效域1/2-CSDN博客

项目管理-项目绩效域1/2_八大绩效域和十大管理有什么联系-CSDN博客

项目管理-项目绩效域2/2_绩效域 团不策划-CSDN博客

高项-案例分析万能答案(作业分享)-CSDN博客

项目管理-计算题公式【复习】_项目管理进度计算题公式:乐观-CSDN博客

项目管理-配置管理与变更-CSDN博客

项目管理-项目管理科学基础-CSDN博客

项目管理-高级项目管理-CSDN博客

项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)-CSDN博客


Oracle其他文档,希望互相学习,共同进步

Oracle-找回误删的表数据(LogMiner 挖掘日志)_oracle日志挖掘恢复数据-CSDN博客

oracle 跟踪文件--审计日志_oracle审计日志-CSDN博客

ORA-12899报错,遇到数据表某字段长度奇怪现象:"Oracle字符型,长度50"但length查却没有50_varchar(50) oracle 超出截断-CSDN博客

EXP-00091: Exporting questionable statistics.解决方案-CSDN博客

Oracle 更换监听端口-CSDN博客

相关推荐
Jelena157795857924 小时前
爬虫结合 t_nlp_word 文本语言词法分析接口:开启数据挖掘与分析的新篇章
爬虫·自然语言处理·word
愚公搬代码7 小时前
【愚公系列】《Python网络爬虫从入门到精通》040-Matplotlib 概述
爬虫
ADFVBM8 小时前
初学者如何用 Python 写第一个爬虫?
开发语言·爬虫·python
Hacker_Oldv18 小时前
Python 爬虫与网络安全有什么关系
爬虫·python·web安全
web182859970892 天前
Python中的简单爬虫
爬虫·python·信息可视化
岱宗夫up2 天前
Python爬虫
开发语言·爬虫·python
B站计算机毕业设计超人2 天前
计算机毕业设计Python+DeepSeek-R1大模型游戏推荐系统 Steam游戏推荐系统 游戏可视化 游戏数据分析(源码+文档+PPT+讲解)
爬虫·python·机器学习·毕业设计·课程设计·数据可视化·推荐算法
傲娇的小苹果2 天前
WebSocket 协议爬虫
javascript·爬虫·python·websocket·网络协议
汤姆yu3 天前
基于深度学习+NLP豆瓣电影数据爬虫可视化推荐系统
爬虫·深度学习·自然语言处理·电影可视化