爬虫实例(5)网页动态内容的识别

爬虫实例(5)动态网页

对于静态网页,我们只需要访问对应的URL就可以获得全部的数据了,动态网页则没有这么简单。
比如这个网站,可谓秀中秀之超级秀!!!

edx
不愧是世界顶尖大学联盟的公开课平台,代码就是牛,操作就是骚。。。

本节目标:网页动态内容
本节内容:理解网页动态内容
本节技术点:浏览器观察并理解网页的动态内容

本节阅读需要(15)min。
本节实操需要(15)min。



前言

所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非你修改页面代码。而动态网页则不然,页面基础的代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。

所以动态网页的内容是需要一定的条件才会有的。很多数据无法直接访问。

凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。


一、动态网页的类型

ajax

具体的内容见另一篇博客。
动态网页ajax

js动态网页

其实和ajax是很难区分开来的。

js实现的动态网页,一般指的是不依赖于和服务器交换数据的js操作而来的网页。

js动态网页,一般这种可能就是一些比如提醒信息,画廊,动画卡通,页面特效之类。
一般都是数据其实一次都加载完了,但是还需要各种根据用户操作变化而变化的呈现方式的处理。

当然也有可能很复杂。会改变链接,从而引入大量的新的内容。不过是少数。。。

二、判断动态加载

说了那么多,如何快速的判断一个网页是不是动态加载的呢?如何判断一段内容是不是动态加载的呢?

根据程序get请求的返回值

F12打开一个网页如果HTML内容很多,还有不停跳动的元素,网页大概率就是动态加载的。

这个时候我们用程序试着请求,查看返回的text如果发现内容明显缩短,那就断定网页是动态加载的。
比对目标内容在HTML有没有就可以确定内容是不是动态加载的。

根据浏览器的最终返回值

最终返回值也就是查看器那个窗口的HTML结果。

edx为例

不要忘记浏览器才是最好的前端解释器!!!

在这里插入图片描述
我们可以看到有很多的flex和event这些都是动态的过程。

根据浏览器的网络值(推荐)

相当于观察浏览器的返回的过程值
在这里插入图片描述
记得的查看网络值的时候要重新加载。
一般最开始的是我们请求的主页。

这个我时候我们就会发现这里的HTML与上面最终的HTML差别特别的大。
这就说明这个网页大量的用到了ajax,和js技术。。。

火狐浏览器比较好玩。关闭原始时候他会解析一下原始的,当作静态处理。还渲染了一下。。
在这里插入图片描述
所以大家可以猜猜用了多少ajax技术啊。。。

显然后面的那么多的都是追加过来的信息。

根据二次返回值XHR

F12打开调试,查看网络选项。然后如下:

在这里插入图片描述
返现了json数据,所以网页用到了ajax技术。
至于哪些内容用到了,需要查看返回的json内容了。都在里面。
但是寻找需要花费一番功夫,一般浏览器都有查找快捷键ctrl+F,可以快一点。

三、实例讲解

我们判断从edx的搜索页访问具体的课程页的过程中遇到了哪些动态内容吧。
我们的[目标页]

搜索页

搜索页
判断过了,如上肯定是用到了的。

学科页

通过网络返回内容的观察,多刷新几次,看清楚。
我们发现从搜索页到学科页用的是js,重定向了,url也改变了。这不是ajax

搜索工商管理,然后展示所有。
工商管理

但是同一个页面刷新,会发现不断的有返回值,对应的是画廊的内容。
在这里插入图片描述
这些明显是ajax,页面不变,内容不断冒出来。。。

课程页

课程主页
课程页链接会要求登录。尽管我们可以post提交登陆信息,但是这一节只谈识别。。。

和上面两个类似。。。

但是js和ajax可谓铺天盖地。。。好的学校就是牛
在这里插入图片描述


总结

查看xhr的时候要多看几个json数据。
一般有用的信息可能是分批加载到页面框架上的,所以每个网络返回数据都要留心。
不过可以根据类型和名称猜一猜。。。

简单总结:
1、JS是一门前端语言。
2、Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新。
3、jQuery是一个框架,它对JS进行了封装,使其更方便使用。jQuery使得JS与Ajax的使用更方便

这些网页是纯英文的,别告诉我看不懂,那就尴尬了。。。
不过我想能看我文章的,水平不会那么差,哈哈哈哈哈。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

演技拉满的白马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值