Python网络爬虫案例实战:动态网页爬取:什么是Ajax

Python网络爬虫案例实战:动态网页爬取:什么是Ajax

Ajax(Asynchronous JavaScript and XML)异步JavaScript和XML,即异步的JavaScript 和XML。它不是一门编程语言,而是利用JavaScript在保证页面不被刷新、页面链接不改变的情况下与服务器交换数据并更新部分网页的技术。

对于传统的网页,如果想更新其内容,那么必须要刷新整个页面,但有了Ajax,便可以在页面不被全部刷新的情况下更新其内容。在这个过程中,页面实际上是在后台与服务器进行了数据交互,在获取到数据之后,再利用JavaScript改变网页,这样网页内容就会更新了。

可以到 W3School上体验几个示例来感受一下:http://www.w3school.com.cn/ajax/ajax_example.asp。

1.实例引入

为了帮助理解Ajax的工作原理,创建了一个小型的Ajax应用程序。其实现效果:运行程序,生成初始界面如图4-3(a)所示,当单击界面中的“通过AJAX改变内容”按钮时,即切换界面,如图4-3(b)所示,再次单击该按钮,即返回如图4-3(a)的界面。

下面对该Ajax实例进行解释。

上面的Ajax应用程序包含一个div和一个按钮。div部分用于显示来自服务器的信息。当按钮被单击时,它负责调用名为loadXMLDoc()的函数,代码为:
在这里插入图片描述

< html>
< body >
<div id= "myDiv">< h3 > Let AJAX change this text </h3 ></div>
< button type = "button" onclick = "loadXMLDoc()"> Change Content </button >
</body >
</html>

接下来,在页面的head 部分添加一个

< head >
< script type = "text/javascript">
function loadXMLDoc()
{
   
... script goes here ...
}
</script >
</head >

2.基本原理

初步了解了Ajax之后,下面再来详细了解它的基本原理。发送Ajax请求到网页更新的这个过程可以简单分为3步:发送请求、解析内容、渲染网页。下面分别来详细介绍这几个过程。

1)发送请求

我们知道,JavaScript可以实现页面的各种交互功能,Ajax也不例外,它也是由JavaScript实现的,实际上执行了如下代码:

var xmlhttp: 
if(window. XMLHttpRequest){
   
    //code for IE7 + , Firefox, Chorme, Opera, Safari
    xmlhttp = new HMLHttpRequest();
    } else{
   //code for IE6, IE5 
        xmlhttp = new Activexobject("Microsoft. XMLHTTP");
        }
    xmlhttp. onreadystatechange = function(){
   
        if(xmlhttp. readyState == 4&& xmlhttp. status == 200){
   
            document. getElementById("myDiv"). innerHTML = xmlhttp. responseText; 
            }
     }
xmlhttp. open("POST",
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值