当前位置: 首页 > article >正文

【爬虫基础】第二部分 爬虫基础理论 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浏览器抓包说明 img

知识点:
    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 请求报文:

img

post请求报文:

img

注意:法律和道德问题

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

今天先到这里吧~~

预知后事如何,且听下回分解~ 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博客


http://www.kler.cn/a/569863.html

相关文章:

  • 一文掌握ADSL拨号代理的搭建方法,及详细使用
  • 数据结构--队列(C语言实现)
  • 一个非常好用便捷的web自动化爬虫工具Playwright
  • 大数据分析中的机器学习基础:从原理到实践
  • Dwall 动态壁纸自动匹配
  • 蓝桥杯深秋的苹果
  • 数据图表ScottPlot.WPF用法示例
  • HTTP 协议的发展历程:从 HTTP/1.0 到 HTTP/2.0
  • 【Linux】TCP协议
  • VScode C语言学习开发环境;运行提示“#Include错误,无法打开源文件stdio.h”
  • 计算机毕设-基于springboot的社团管理系统的设计与实现(附源码+lw+ppt+开题报告)
  • 小红的回文子串
  • 企业微信获取用户信息
  • MySQL增删改查(进阶)
  • 时序论文41 | Medformer:基于多粒度patch的时序分类模型
  • [含文档+PPT+源码等]精品基于Python实现的微信小程序的在线医疗咨询系统
  • 汽车智能钥匙低频PKE天线
  • 基于C#的CANoe CLR Adapter开发指南
  • 达梦数据库如何收集表和索引的统计信息
  • C# 使用 Newtonsoft.Json 序列化和反序列化对象实例