抓取动态网页(HTML网页中巧用URL的原理及原理分析(一))
优采云 发布时间: 2022-02-12 11:22抓取动态网页(HTML网页中巧用URL的原理及原理分析(一))
在 HTML 页面中巧妙地使用 URL:
一、发布地址给大家测试
/test/htmlpro/?name=cnbruce&email=
1.现在流行的(可能是因为最近问的人多了)就是不带文件名的URL地址。例如,htmlpro/? 其实这和服务器设置的默认文件名有关,比如index.htm、index.html、index.asp等,不信可以试试我的一位朋友(asp的)。
2.这里的文件是index.html,后面有参数。页面效果类似于ASP提取信息内容。
以下为转载文章(作者刘晓)可以解释一下
经常上网的朋友一定很熟悉“host/***.asp?arg1=*&arg2=*”等URL(即网址)。这类URL的作用是通过在URL后面附加信息内容,将相关信息传递给远程Web服务器,并在Web服务器进行适当处理后将结果返回给客户端,从而达到网页交互的目的并实现动态网页内容。. (注:URL和信息内容用“?”连接,内容字段用字符“&”分隔,每个字段的名称/值用“name=value”的形式表示。)但是通过这种方式实现的动态网页都需要服务器端编程技术的支持。最近,作者在制作个人网站时使用了浏览器支持的DHTML和XML技术。动态网页。
一、原理分析
当浏览器以这种方式向Web服务器请求时,Web服务器会解析请求地址的URL,将querystring字符串存储在“?”之后。在服务器特定的环境变量中,然后调用服务器端的编程执行环境,如ASP(Activex Server Page)等来处理请求的程序文件。
调用什么样的编程执行环境取决于服务器的设置。如果请求的文档是asp类型的文件,则调用ASP,如果是aspx类型的文件,则调用ASP.NET。在程序文件中,可以通过一定的方法读取环境变量,比如asp文件,可以通过Reques.Querystring数据集合读取环境变量。编程执行环境处理后,将结果返回给Web服务器,Web服务器将结果返回给浏览器,从而达到动态网页内容的目的。
通过上面的分析我们可以知道,如果使用*.htm?querystring方法向Web服务器发送请求,Web服务器会直接将请求的HTML页面返回给浏览器。这时候我们可以使用网页中的Location.href属性来获取带有附加信息内容的URL字符串。经过适当的处理,我们可以得到附加信息内容字段的名称和值,然后利用浏览器支持的DHTML特性进行处理,网页的内容可以是动态的,从而达到不支持服务器端编程技术的免费主页空间上的网页交互。
我们也可以看到,动态网页交互的目的是通过这种方式实现的,即使是在浏览器中实现,也还是摆脱不了web服务器的支持,否则浏览器会把“?querystring”当作请求的 URL 的一部分,因此出现无法查看网页的错误消息。
二、应用实例
--- 下面给出了带有详细注释的具体示例源代码。注意:querystring.js是一个实用程序,可以直接在网页中引用,然后在网页中使用Request["name"]获取用户输入的相关信息内容。
1.querystring.js 源代码
函数查询字符串()
{//构造参数对象并初始化
变量名称,值,我;
var str=location.href;//获取浏览器地址栏的url字符串
var num=str.indexOf("?")
str=str.substr(num+1);//截取“?”后面的参数字符串
var arrtmp=str.split("&");//将各个参数分开,组成参数数组
for(i=0;i < arrtmp.length;i++){
num=arrtmp[i].indexOf("=");
如果(数字>0){
name=arrtmp[i].substring(0,num);//获取参数名称
value=arrtmp[i].substr(num+1);//获取参数值
this[name]=value;//定义对象属性并初始化
}
}
}
var Request=new QueryString();//使用new操作符创建参数对象的实例
2.Sample.htm 源代码
例子
如果使用 DHTML 和 XML 技术扩展此示例,将获得令人难以置信的结果。笔者就是这样在首页空间搭建了一个不错的动态图片查看器,只支持纯HTML