photoshop网站模板设计教程视频/商丘网站建设公司

photoshop网站模板设计教程视频,商丘网站建设公司,做网站的合同范文,做招聘网站的要求我叫补三补四,很高兴见到大家,欢迎一起学习交流和进步 今天来讲一讲视图 一、网络爬虫的定义 网络爬虫(Web Crawler),又称为网络蜘蛛、网络机器人等,是一种按照一定规则自动抓取互联网信息的程序或脚本。它…

我叫补三补四,很高兴见到大家,欢迎一起学习交流和进步

今天来讲一讲视图

一、网络爬虫的定义


网络爬虫(Web Crawler),又称为网络蜘蛛、网络机器人等,是一种按照一定规则自动抓取互联网信息的程序或脚本。它通过模拟浏览器的行为,发送HTTP请求获取网页内容,并从中提取有用信息。网络爬虫广泛应用于搜索引擎、大数据分析、学术研究等领域,是互联网信息采集的重要工具。


二、网络爬虫的类型


网络爬虫主要分为通用网络爬虫和定向网络爬虫两大类。


(一)通用网络爬虫


通用网络爬虫,又称全网爬虫,旨在从互联网上尽可能多地抓取网页信息,覆盖各种类型和主题的网站。其特点包括:

1. 覆盖范围广:不局限于特定领域,目标是构建全面的网页索引。

2. 遵循规则:通常遵循robots.txt协议,尊重网站的抓取规则。

3. 并行工作:由于数据量巨大,通常采用并行爬取的方式。

通用网络爬虫的实现原理主要包括以下几个模块:

• 初始URL集合:作为爬取的起点。

• URL队列:存储待爬取的网页链接。

• 页面爬行模块:通过HTTP请求获取网页内容。

• 页面分析模块:解析网页,提取其中的链接和内容。

• 页面数据库:存储爬取到的网页。

• 链接过滤模块:避免重复抓取相同的网页。

通用网络爬虫通常采用深度优先或广度优先的搜索策略。


(二)定向网络爬虫


定向网络爬虫,又称聚焦网络爬虫或主题网络爬虫,是有选择地抓取与特定主题相关的网页。其特点包括:

1. 目标明确:专注于特定领域或主题,如科技新闻、医学研究等。

2. 节省资源:由于目标明确,不需要遍历整个互联网,因此在存储和计算资源的消耗上相对较少。

定向网络爬虫的实现原理与通用网络爬虫类似,但增加了内容评价和链接评价模块。其核心在于通过特定的策略和算法选择要抓取的网页,通常会使用机器学习或自然语言处理技术来判断网页内容是否符合预定主题。


三、常见的搜索策略


网络爬虫在抓取网页时,通常会采用以下几种搜索策略:


(一)深度优先搜索(DFS)


深度优先搜索的基本方法是按照深度由低到高的顺序,依次访问下一级网页链接,直到不能再深入为止。爬虫在完成一个爬行分支后返回到上一链接节点,继续搜索其他链接。这种策略适合垂直搜索或站内搜索,但可能会导致资源浪费。


(二)广度优先搜索(BFS)


广度优先搜索按照网页内容目录层次深浅来爬行页面,优先抓取较浅层次的页面。当同一层次中的页面爬行完毕后,再深入下一层继续爬行。这种策略能够有效控制爬行深度,避免陷入无穷深层分支。


(三)最佳优先搜索(Best-First Search)


最佳优先搜索是一种基于启发式的搜索策略,它通过评估每个节点的重要性来决定下一步的抓取顺序。例如,可以基于页面与主题的相关性、链接质量等因素进行评估。这种方法能够更高效地抓取有价值的信息,尤其适用于定向网络爬虫。


开发者工具

在从事编程开发的人员,其实浏览器也是其必备的开发工具

在找到目标网页以后我们可以使用快捷键F12,也可以通过在网页右键选择检查或者用组合键ctrl+shift+I来打开开发者工具

开发者工具的界面共有9个标签页,分别是:Elements、Console、Sources、Network、Performance、Memory、Application、Security和Audits。

如果是用于爬虫分析的话,熟练掌握Elements和Network标签就能满足大部分的爬虫需求。

Elements标签

在Elements标签中允许从浏览器的角度看页面,也就是说可以看到Chrome渲染页面所需要的HTML、CSS和DOM(Document Object Model)对象,也可以编辑内容更改页面的显示效果。

Elements标签分成两个部分,其中区域1用于显示页面的HTML信息,当选中某一行的内容时,区域2会显示当前选中的css样式,并且允许对元素的css样式进行查看和编辑,computed显示当前选中的边距属性,边框属性,Event Listeners是整个网页事件触发的JavaScript

通过单击Event Listeners下的某个JavaScript会自动跳转到Sources标签,显示当前JavaScript的源码,这个功能可快速找到JavaScript代码所在的位置,对分析JavaScript起到快速定位作用。

Network标签

从network当中可以看到页面向服务器请求的信息,请求的大小,以及请求花费的时间

network标签主要包含五个区域:

1.功能区

• 记录开关:红色圆点表示是否开启网络日志记录,灰色为未开启,红色为已开启。

• 清除日志:清除当
前所有网络请求记录。

• 屏幕捕获:开启后会记录页面在不同时间下的快照。

• 过滤器开关:开启后可显示筛选区。

• 快速查找:用于快速查找特定请求。

• 显示设置:包括是否使用更大的区域显示请求记录、是否显示Overview等。

• 分组显示:勾选后可按表单名称对网络请求进行分组。

• 保留日志:勾选后,页面刷新不会清空之前的请求记录。

• 禁用缓存:当打开开发者工具时生效,页面资源不会存入缓存。

• 离线模式:用于测试离线状态下的页面表现。

• 网络限速:模拟不同网络条件,如弱网。


2.筛选区

• 提供多种预定义的筛选选项,如ALL(显示所有请求)、XHR(AJAX异步请求)、JS(JavaScript文件)、CSS(样式表文件)、Img(图片)、Media(媒体文件)、Font(字体文件)、Doc(HTML文档)、WS(WebSocket请求)等。

• 还可以输入自定义条件进行筛选。


3.时间轴区(Overview)

• 以时间轴的形式展示页面加载过程,包括DOMContentLoaded和load事件的触发时间。

• 可以通过滑动鼠标滚轮查看不同时间点的加载情况。


4.主显示区

• 显示所有网络请求的详细列表,包括以下列:

• Name:请求资源的名称。

• Status:HTTP状态码。

• Type:请求资源的MIME类型。

• Initiator:发起请求的对象或进程。

• Size:服务器返回的响应大小。

• Time:请求的总持续时间。

• Waterfall:各请求相关活动的直观分析图。

• 点击某个请求的名称,可以查看该请求的详细信息,包括Headers(请求头和响应头)、Preview(预览)、Response(响应内容)、Cookies(Cookie信息)、Timing(请求生命周期各阶段时间)等。


5.信息汇总区

• 显示当前页面加载的总请求数、数据传输量、加载时间等信息。

• 包括DOMContentLoaded和load事件的触发时间及其在时间轴上的标记。

Requests Table

5个区域中,Requests Table是核心部分,主要作用是记录每个请求信息。但每次网站出现刷新时,请求列表都会清空并记录最新的请求信息,如用户登录后发生304跳转,就会清空跳转之前的请求信息并捕捉跳转后的请求信息。对于每条请求信息,可以单击查看该请求的详细信息:

每条请求信息划分为以下5个标签。
● Headers:该请求的HTTP头信息。
● Preview:根据所选择的请求类型(JSON、图片、文本)显示相应的预览。
● Response:显示HTTP的Response信息。
● Cookies:显示HTTP的Request和Response过程中的Cookies信息。
● Timing:显示请求在整个生命周期中各部分花费的时间。

关于Headers的内容如下:
Headers 标签通常分为以下几个部分:


1.请求方法和URL

• Request Method:显示请求的HTTP方法(如GET、POST、PUT、DELETE等)。

• Request URL:显示请求的完整URL。

• Request HTTP Version:显示使用的HTTP版本(如HTTP/1.1、HTTP/2等)。


2.请求头(Request Headers)
请求头是由客户端发送给服务器的头信息,它包含了关于请求的元数据。常见的请求头包括:

• Accept:客户端可接受的响应内容类型(如`text/html`、`application/json`等)。

• Accept-Encoding:客户端可接受的内容编码方式(如`gzip`、`deflate`等)。

• Accept-Language:客户端偏好的语言(如`zh-CN`)。

• Authorization:用于身份验证的凭据(如Basic Auth、Bearer Token等)。

• Content-Length:请求体的长度(仅在POST或PUT请求中出现)。

• Content-Type:请求体的内容类型(如`application/json`、`application/x-www-form-urlencoded`等)。

• Cookie:客户端存储的Cookie信息。

• Host:请求的主机名。

• Origin:发起请求的源(用于CORS跨域请求)。

• Referer:请求的来源页面。

• User-Agent:客户端的浏览器或设备信息。


3.响应头(Response Headers)
响应头是由服务器返回给客户端的头信息,它包含了关于响应的元数据。常见的响应头包括:

• Access-Control-Allow-Origin:允许访问资源的源(用于CORS跨域请求)。

• Cache-Control:缓存策略(如`no-cache`、`max-age`等)。

• Content-Encoding:响应体的内容编码方式(如`gzip`)。

• Content-Length:响应体的长度。

• Content-Type:响应体的内容类型(如`text/html`、`application/json`等)。

• Date:服务器生成响应的时间。

• ETag:资源的唯一标识符,用于缓存验证。

• Expires:响应过期时间。

• Last-Modified:资源最后修改时间。

• Location:重定向目标URL。

• Set-Cookie:服务器设置的Cookie信息。

• Server:服务器软件信息。


4.请求体(Request Payload)
对于POST或PUT请求,Headers 标签还会显示请求体的内容。这通常用于查看发送到服务器的数据,例如表单数据、JSON对象等。


5.查询参数(Query String Parameters)
如果请求URL中包含查询参数(如`?key=value`),Headers 标签会将这些参数列出,方便开发者查看。


---

Headers 标签的作用

1. 调试请求和响应:通过查看Headers,可以确认请求是否正确发送,以及服务器是否返回了预期的响应。

2. 优化性能:通过分析缓存头(如`Cache-Control`、`ETag`等),可以优化页面的缓存策略,减少重复请求。

3. 排查跨域问题:通过查看`Access-Control-Allow-Origin`等头信息,可以排查CORS跨域问题。

4. 验证身份认证:通过检查`Authorization`头,可以确认身份认证信息是否正确传递。

5. 分析内容编码:通过查看`Content-Encoding`和`Content-Type`,可以确认资源是否被正确压缩和解析。


---

示例
假设你发起一个GET请求,Headers标签可能显示如下内容:


请求方法和URL

GET /api/data HTTP/1.1

请求头

Host: example.com
Connection: keep-alive
Accept: application/json
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: sessionid=1234567890

响应头

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 256
Cache-Control: max-age=3600
Date: Sat, 15 Oct 2023 12:34:56 GMT
Set-Cookie: sessionid=9876543210; Path=/; HttpOnly

请求体(如果适用)
如果是一个POST请求,可能会显示:

Request Payload:
{"username": "user","password": "pass"
}

网站分析步骤:

分析网站的步骤如下:
步骤01 找出数据来源,大部分数据来源于Doc、XHR和JS标签。
步骤02 找到数据所在的请求,分析其请求链接、请求方式和请求参数。
步骤03 查找并确定请求参数来源。有时候某些请求参数是通过另外的请求生成的,比如请求A的参数id是通过请求B所生成的,那么要获取请求A的数据,就要先获取请求B的数据作为A的请求参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/72382.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

​AI时代到来,对电商来说是效率跃升,还是温水煮青蛙

​凌晨三点的义乌商贸城,95后创业者小王,静静地盯着屏幕上的AI工具,竟露出了笑容。这个月他的跨境玩具店销量提升了不少,从之前的状态翻了3倍;而且团队人数有所变化,从5人缩减到了2人(其中包括他…

PDF文件密码保护破解:安全解密的步骤与技巧

PDF文件加密后,需要特定的密码才能访问内容。以下是一些常见的方法来解密PDF文件: 方法一:使用Adobe Acrobat 如果你有Adobe Acrobat Pro,可以使用它来解密PDF文件。 打开Adobe Acrobat Pro: 启动Adobe Acrobat Pro…

qt 自带虚拟键盘的编译使用记录

一、windows 下编译 使用vs 命令窗口,分别执行: qmake CONFIG"lang-en_GB lang-zh_CN" nmake nmake install 如果事先没有 指定需要使用的输入法语言就进行过编译,则需要先 执行 nmake distclean 清理后执行 qmake 才能生效。 …

C++刷题(二):栈 + 队列

📝前言说明: 本专栏主要记录本人的基础算法学习以及刷题记录,使用语言为C。 每道题我会给出LeetCode上的题号(如果有题号),题目,以及最后通过的代码。没有题号的题目大多来自牛客网。对于题目的…

精通游戏测试笔记(持续更新)

第一章、游戏测试的两条规则 不要恐慌 不要将这次发布当作最后一次发布 不要相信任何人 把每次发布当作最后一次发布 第二章:成为一名游戏测试工程师

Windows功能之FTP服务器搭建

一、创作背景 之前有用linux系统搭建过ftp服务器,最近想着用windows系统也顺便搭建一个,看网上有第三方服务软件一键部署,记得windows可以不借助第三方软件就可以搭建,就想顺便操作试试,结果老是连接不上,费…

星型组网模块的两种交互方式优缺点解析

星型组网模块简介 星型组网模块工作在433MHz频段;星型组网模块集主机(协调器)、终端为一体,星型组网模块具有长距离、高速率两种传输模式,一个主机(协调器)支持多达200个节点与其通讯&#xff0…

【2025.3.13】记一次双系统笔记本加装固态硬盘记录 linux扩容 linux更换/home和/opt所在硬盘 windows无法调整亮度

文章目录 🌕事情经过🌕更换/home和/opt的挂载硬盘🌙目的🌙初始化1t固态硬盘🌙打开Linux查看硬盘信息🌙给新1t固态硬盘分区🌙格式化分区🌙把新1t固态硬盘先挂载到/mnt/ssd_1t 用于后续…

【测试语言基础篇】Python基础之List列表

一、Python 列表(List) 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表和元组。序列都可…

软件测试之使用Requests库进行接口测试

文章目录 前言Requests库是什么为什么要用Requests库进行接口测试安装Requests库Requests库使用发送GET请求发送带查询参数的GET请求响应内容格式添加请求头信息发送一个POST请求查看响应内容断言请求超时Cookie与Session模拟登录 参考目录 前言 阅读本文前请注意最后编辑时间…

AttributeError: module ‘backend_interagg‘ has no attribute ‘FigureCanvas‘

AttributeError: module backend_interagg has no attribute FigureCanvas 这个错误通常是由于 Matplotlib 的后端配置问题引起的。具体来说,Matplotlib 在尝试加载某个后端时,发现该后端模块中缺少必要的属性(如 FigureCanvas)&a…

iWebOffice2015 中间件如何在Chrome107及之后的高版本中加载

iWebOffice2015是江西金格科技有限公司开发的一款智能文档中间件,和一些知名OA及ERP公司曾经达成OEM合作,所以用户一度比较多,但不幸的是Chromium内核浏览器在2022年10月份发布的107版本中永久取消了对PPAPI插件的加载支持,导致使…

OpnenHarmony 开源鸿蒙北向开发——1.开发环境搭建(DevEco Studio 5.03)

我这边是基于window下对OpenHarmony开源鸿蒙进行北向开发。 一、安装DevEco Studio 1、下载 下载中心 | 华为开发者联盟-HarmonyOS开发者官网,共建鸿蒙生态 2、安装 下载完成之后进行解压 双击进行安装 按照我的步骤进行 选择安装目录,全部配置完成后…

linux(ubuntu)中Conda、CUDA安装Xinference报错ERROR: Failed to build (llama-cpp-python)

文章目录 一、常规办法二、继续三、继续四、缺少 libgomp库(最终解决)在 Conda 环境中安装 libgomp 如果符合标题情况 执行的: pip install "xinference[all]"大概率是最终解决的情况。 一、常规办法 llama-cpp-python 依赖 CMak…

OpenGL中绘制图形元素的实现(使用visual studio(C++)绘制一个矩形)

目标&#xff1a;使用OpenGL提供的函数绘制矩形、线段、三角形等基本图形元素 所需效果 实验步骤 1、配置OpenGL&#xff08;详情参见OpenGL的配置&#xff09; 2、头文件引入 #include <gl/glut.h> 3、编写方法体 1>矩形实现 //绘制矩形 void DisplayRectangl…

面试高频#LeetCode#Hot100-字母异位词分组

题号链接 49. 字母异位词分组 - 力扣&#xff08;LeetCode&#xff09; 1首先定义map集合一个String对应一个String[]集合&#xff0c;遍历字符串数组 2对其先进行拆分&#xff0c;拆分为字符数组&#xff0c;再进行排序&#xff0c;再转为字符串 3如果key值没有就创建一个字符…

超精密工件小孔几何尺寸测量:自动化解决方案

下载链接&#xff1a;&#xff08;最新版本&#xff09;超精密工件小孔几何尺寸测量&#xff1a;自动化解决方案python脚本代码&#xff0c;可直接运行&#xff0c;内包含测试数据&#xff0c;亲测好用资源-CSDN文库 在现代制造业中&#xff0c;超精密工件的质量控制至关重要&a…

游戏引擎学习第158天

回顾和今天的计划 我们在这里会实时编码一个完整的游戏&#xff0c;没有使用引擎或库&#xff0c;一切都由我们自己做所有的编程工作&#xff0c;游戏中的每一部分&#xff0c;无论需要做什么&#xff0c;我们都亲自实现&#xff0c;并展示如何完成这些任务。今天&#xff0c;…

兴达易控Profinet 转 ModbusTCP跨网段通信模块

Profinet 转 ModbusTCP/跨网段通信模块 Profinet转ModbusTCP/跨网段通信模块&#xff0c;作为现代工业自动化系统中不可或缺的重要组件&#xff0c;正日益受到广泛关注和应用。 这种模块的核心功能是将Profinet网络协议转换为Modbus TCP协议&#xff0c;实现不同网络之间的无缝…

创新技术引领软件供应链安全,助力数字中国建设

编者按 随着数字化转型的加速&#xff0c;针对软件供应链的攻击事件呈快速增长态势&#xff0c;目前已成为网络空间安全的焦点。如何将安全嵌入到软件开发到运营的全流程&#xff0c;实现防护技术的自动化、一体化、智能化&#xff0c;成为技术领域追逐的热点。 悬镜安全作为…