5.1 Ajax数据爬取之初介绍

目录

1. Ajax 数据介绍

2. Ajax 分析

2.1 Ajax 例子

2.2 Ajax 分析方法

(1)在网页页面右键,检查

(2)找到network,ctrl + R刷新

(3)找 Ajax 数据包

(4)找到数据

(5)找到其他网页的Ajax请求数据包

1. Ajax 数据介绍

       在逛QQ空间、微博等网页,我们向下滑动时,一条条信息会出来,这些就是由Ajax加载而来,即 Ajax 数据。这些数据并不存在原网页,都是由 JavaScript 向服务器发送一个个Ajax请求,然后获取数据,对其解析,渲染在网页中。

        那我们如何获取这些数据呢?

2. Ajax 分析

        通过 Ajax分析,我们可以找到 JavaScript 通过 Ajax 接口发送的请求后及响应内容。

        下面通过例子来进行讲述。

2.1 Ajax 例子

例子链接:Scrape | Movie

目标:获取网站中所有网页中的电影信息,电影名、类别......

链接部分内容:

尝试获取该页面内容:

import requestsurl = 'https://spa1.scrape.center/'
response = requests.get(url)
print(response.text)

结果:

        我们发现其中根本没有我们想要的内容,只有一些引用的 JavaScript 和 CSS 文件,所以此时我们考虑是 Ajax 数据。

2.2 Ajax 分析方法

(1)在网页页面右键,检查

(2)找到network,ctrl + R刷新

        会得到很多数据包,其中我们想要获取的请求就在这些包中,接下来就是找到特定的数据包。

(3)找 Ajax 数据包

        Ajax 有其特殊的请求类型,为xhr,即Type为xhr。点击下方标记处。发现前方带红色标记的请求,即是所要找的数据包。点击该数据包

(4)找到数据

        点击后如下:

        要找的数据可以通过爬取Request URL获得,在Preview可以看到(内容是Json格式),Response即我们通过代码获得的内容。以下为部分内容截图。

(5)找到其他网页的Ajax请求数据包

        下拉该网页(若是在本网页的其他Ajax数据包,会一一跳出,此网页就一个)

        点击2,3...跳转页面,之后我们可以发现规律,根据请求url的规律,就可以进行爬取了。

本人新手,若有错误,欢迎指正;若有疑问,欢迎讨论。若文章对你有用,点个小赞鼓励一下,谢谢,一起加油吧!

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

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

相关文章

力扣用例题:2的幂

此题的解题方法在于根据用例调整代码 bool isPowerOfTwo(int n) {if(n1){return true;}if(n<0){return false;}while(n>2){if(n%21){return false;}nn/2; }if(n1){return false;}return true;}

Java 学习和实践笔记(20):static的含义和使用

static的本义是静止的。在计算机里就表示静态变量。 在Java中&#xff0c;从内存分析图上可以看到&#xff0c;它与类、常量池放在一个区里&#xff1a; 从图可以看到&#xff0c;普通的方法和对象属性&#xff0c;都在heep里&#xff0c;而static则在方法区里。 static声明的…

《凤凰架构》 -分布式事务章节 读书笔记

分布式事务严谨的定义&#xff1a;分布式环境下的事务处理机制 CAP定理&#xff1a;在一个分布式系统中&#xff0c;涉及共享数据问题时&#xff0c;以下三个特性最多只能同时满足两个 一致性&#xff1a;代表数据在任何时刻、任何分布式节点中看到的都是符合预期的&#xff0…

提升代码能力:程序员的进阶之路

提升代码能力&#xff1a;程序员的进阶之路 在当今日益发展的技术领域&#xff0c;程序员的代码能力对于个人职业发展至关重要。优秀的代码能力不仅能提高开发效率&#xff0c;还能产生高质量的软件和解决方案。然而&#xff0c;提升代码能力是一个不断学习和成长的过程。本文将…

备战蓝桥杯—— 双指针技巧巧答链表2

对于单链表相关的问题&#xff0c;双指针技巧是一种非常广泛且有效的解决方法。以下是一些常见问题以及使用双指针技巧解决&#xff1a; 合并两个有序链表&#xff1a; 使用两个指针分别指向两个链表的头部&#xff0c;逐一比较节点的值&#xff0c;将较小的节点链接到结果链表…

C语言实现简单选择排序

简单选择排序 简单选择排序的平均复杂度为 O(n2),但效率通常比相同平均复杂度的直接插入排序还要差。但由于选择排序是 内部排序&#xff0c;因此在内存严格受限的情况下还是可以用的。选择排序的原理很简单&#xff0c;如下图所示&#xff1a;持续从未处理元素中找到最小值并加…

windows安装 RabbitMQ

首先打开 RabbitMQ 官网&#xff0c;点击 Get Started(开始) 点击 Download Installation(下载安装)。 这里提供了两种方式进行安装&#xff0c;我们使用第二种方法。 使用 chocolatey以管理用户身份使用官方安装程序 往下滑&#xff0c;第二种方法需要 Erlang 的依赖&#x…

pikachu靶场-File Inclusion

介绍&#xff1a; File Inclusion(文件包含漏洞)概述 文件包含&#xff0c;是一个功能。在各种开发语言中都提供了内置的文件包含函数&#xff0c;其可以使开发人员在一个代码文件中直接包含&#xff08;引入&#xff09;另外一个代码文件。 比如 在PHP中&#xff0c;提供了&…

【webrtc】m77 PacedSender

mediasoup是m77的代码,m77的代码并没有paced controller ,而且与paced sender 的逻辑混在了一起。结合大神们的代码分析,对照m77 进行 理解。m77 有ProbeController。给pacersender 更新飞行数据:PacedSender::InsertPacket(size_t bytes) 对应的是 PacingController::OnPa…

【Java】基础——反射(Reflection)基础

目录 1. 反射概述 引言 1.1 反射是什么&#xff1f; 1.2 反射提供的功能 1.3 反射的作用 2. 获取类的信息 2.1 获取反射中的Class对象 2.2 通过反射创建类对象 2.3 通过反射获取类的成员变量 2.4 通过反射获取类的方法 1. 反射概述 引言 本篇对反射基础进行了讲解。…

Java EE改名Jakarta EE,jakarta对程序开发的影响

一、前言 很多Java程序员在使用新版本的Spring6或者springboot3版本的时候&#xff0c;发现了一些叫jakarta的包。我在阅读开源工作流引擎camunda源代码的时候&#xff0c;也发展了大量jakarta的工程包。 比如&#xff1a;camunda的webapps编译工程就提供了2种方式javax和jaka…

Stable Diffusion 模型分享:A-Zovya RPG Artist Tools(RPG 大师工具箱)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八下载地址模型介绍 A-Zovya RPG Artist

java+springmvc+springboot众筹救助系统mybatis

儿童众筹救助系统在流畅性&#xff0c;续航能力&#xff0c;等方方面面都有着很大的优势。这就意味着儿童众筹救助系统的设计可以比其他系统更为出色的能力&#xff0c;可以更高效的完成最新的救助基金、救助申请、众筹项目、捐赠信息等功能。 此系统设计主要采用的是JAVA语言来…

前端学习——vue学习

文章目录 1. < el-form> 属性 model、prop、rules2. v-bind 与 v-model3. v-if 与 v-show4. v-for 循环语句5. 计算属性 computed6. 监视属性 watch7. 下拉框 el-select、el-option8. 自定义事件9. async与await实现异步调用 1. < el-form> 属性 model、prop、rule…

Escalate_Linux-环境变量劫持提权(5)

环境变量劫持提权 在Shll输入命令时&#xff0c;Shel会按PAH环境变量中的路径依次搜索命令&#xff0c;若是存在同名的命令&#xff0c;则执行最先找到的&#xff0c;若是PATH中加入了当前目录&#xff0c;也就是“”这个符号&#xff0c;则可能会被黑客利用&#xff0c;例如在…

字符串(算法竞赛)--Manacher(马拉车)算法

1、B站视频链接&#xff1a;F05 Manacher(马拉车)_哔哩哔哩_bilibili 题目链接&#xff1a;【模板】manacher - 洛谷 ​ #include <bits/stdc.h> using namespace std; const int N3e7; char a[N],s[N]; int d[N];//回文半径函数void get_d(char*s,int n){d[1]1;for(int…

线段树学习笔记 下

可持久化线段树 上面两篇是几年前写的&#xff0c;笔者今日才加以整理&#xff0c;如有错误请见谅。 线段树加上版本就是可持久化线段树。 Problem Intro 给定一个数组&#xff0c;只需要单点修改和单点查询&#xff0c;但要维护版本。 具体说&#xff0c;每一次操作可能从…

五、分类算法 总结

代码&#xff1a; from sklearn.datasets import load_iris, fetch_20newsgroups from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.model_selection import train_test_split, GridSearchCV from sklearn.naive_bayes import MultinomialNB from s…

Stable Diffusion 模型的概念、类型、下载、安装、使用

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 大家好&#xff0c;我是水滴~~ 我们在《Stable Diffusion WebUI 界面介绍》 时&#xff0c;第一个就讲到了 Stable Diffusion 模型&#xff0c;那么这个模型是什么&#xff1f;该从哪儿下载&…

东方博宜 1519. 求1~n中每个数的因子有哪些?

东方博宜 1519. 求1~n中每个数的因子有哪些&#xff1f; #include<iostream> using namespace std; int main() {int n ;cin >> n ;for(int i 1 ; i < n ; i){int a[1000] ;int k 0 ;for(int j 1 ; j < i ; j){if(i%j0){a[k] j ;k ;} }cout << i …