论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Javascript教程
Tag:验证,特效,入门,实例,验证,表单,特效,正则表达式,跑马灯,document,函数,代码,getElementByID,菜单,图片,视频教程

JS或php获取JS生成的内容

文章类别:Javascript | 发表日期:2010-1-29 14:57:15

请问如何使用js或者php,获取js部分生成的代码。
如:要获取淘宝宝贝的详情,这部分是js生成的相应内容,请问用php或者js代码如何去或者之?

分析淘宝的页面后得出的结论.
1.在查看 商品的页面(就是有宝贝详情的页面),查看源代码找到
复制内容到剪贴板代码:
apiItemDesc
它后面的值,就是当前这个宝贝详情的内容的URL地址.
2.取这个URL地址内容就可以得到 宝贝详情 的内容了.

举个例子:
比如这个商品
http://item.taobao.com/auction/item_detail-0db2-bad41e9b0823867be42a21c1e8dea721.htm?cm_cat=50018911&source=dou

查看源代码找到 apiItemDesc
它的值是
引用:
http://dsc07.taobao.com/i7/ba1/411/bad41e9b0823867be42a21c1e8dea721/T1XmRmXftfXXXXXXXX.desc|var^desc;sign^d9ca5a880b0586b99a1b9ffbd49a1ff4;lang^gbk;t^1255879405
再取一次这个URL地址的内容,就是该 商品的 宝贝详情了.

并附一个获取上面数据的例子.文件保存为 hta 类型的文件.(比如 taobao.hta)
<script type="text/javascript">
//<![CDATA[
 function getData(url, callBack){
  var xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
  xmlhttp.open('GET', url, true);
  xmlhttp.onreadystatechange = function(){
   if(xmlhttp.readyState == 4 && (xmlhttp.status == 200 || xmlhttp.status == 0))callBack(xmlhttp);
  }
  xmlhttp.send();
 }
 function BytesToBstr(body, Cset){//编码转换
  var objstream = new ActiveXObject("adodb.stream");
  objstream.Type = 1;
  objstream.Mode =3;
  objstream.Open();
  objstream.Write(body);
  objstream.Position = 0;
  objstream.Type = 2;
  objstream.Charset = Cset;
  return(objstream.ReadText);
 }
 getData('http://item.taobao.com/auction/item_detail-0db2-bad41e9b0823867be42a21c1e8dea721.htm?cm_cat=50018911&source=dou', function(x){
  var url = /"apiItemDesc":"(.+?)"/ig.exec(x.responseText)[1];//取URL地址
  getData(url, function(data){
   eval(BytesToBstr(data.responseBody, 'gb2312'));
   document.write(desc);
  });
 });
//]]>
</script>
PS:第一次请求的时候,因为页面的编码是 utf-8的,所以不用转码,就可以直接使用.
而第二次请求 宝贝详情的内容的时候,返回的内容是gb2312的.所以,如果要想正确显示,需要以gb2312编码读出来数据.

上一篇:Javascript中的caller函数和callee属性 人气:2060
下一篇:jQuery技巧总结 人气:2112
视频教程列表
文章教程搜索
 
Javascript推荐教程
Javascript热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058