本菜鸟刚刚接触HTML,有一些问题请各位大佬指点一下。下面的问题都是以这个网页作为例子的
http://www.sse.com.cn/et/bonddata/overview/day/我对页面感兴趣的是这个表格
网页源代码对应的位置为:
<div class="tab-pane active js_tableT01"  id="tableData_">
<div class="sse_table_title2" style="display:none"><p></p></div>
<div class="table-responsive sse_table_T01 tdclickable"  >
<table class="table search_">
<script type="text/javascript"></script>
</table></div>F12查看元素得到位置为
网页相关的js脚本为我的问题是:1. 第一次请求网页加载的是网页源代码,对于这个表格,源代码中只有“tab-pane active js_tableT01”,"table-responsive sse_table_T01 tdclickable" ,"table search_" 等几个标签是跟表格数据结构相关的。 而跟javascript 相关的只有
<script type="text/javascript"></script>
那么HTML是如何调用了js,如何确定调用的是哪段js呢?2. 假如我知道了调用的js代码,除了浏览器以外,可以用什么软件run这段代码,获得数据呢?3. 从浏览器能不能导出一个文件,文件中包含这个表格?希望各位大佬指点谢谢!

解决方案 »

  1.   

    1.只要在源代码中看不到数据都是动态加载的,动态加载的形式多种多样,你要在一堆js中找到调用入口是麻烦点2. 如果知道了动态加载的形式,只要调用入口,如果是返回json基本用一般浏览器的rest插件都可能调到(不一定能调到,这有些CORS,同源两策略限制)3. 原理上是可以的,不然哪些搜索引擎遇到动态加载不都不起作用了吗
      

  2.   


    谢谢版主大人回复!这个问题比较棘手的话,我就先绕一下。 如果我使用libxml2 HTMLparser  或则 beautiful soap 这样的包来加载页面,获取数据,应该是一条可行的路线吧?
      

  3.   


    非常感谢您的回答。刚才按照您的提示逐步调试了一下。得到以下几个结论:
    1. 脚本是逐步加载的,根据第一次request得到的doc 文件,逐步执行,需要了就请求脚本。
    2.源代码中,只有在<script></script>标签处加断点才可能会停下来。如果该段落内只是简单的属性赋值,比如“src = *",“language = *"也不会停下来;而包含”var = *","document.write()",“require()“的段落就会停下来。可以认为只有到js脚本内可执行的部分才停下来。
    3.我感兴趣的那个表格, <script></script>标签内是空的,难道这个是主脚本特权?想再向您请教几问题:
    1. 上面结论3里那个猜想对吗?
    2. 虽然我是菜鸟,可否麻烦您简略地一两句话跟我说一下脚本的入口在哪里?系统需要准备哪些环境,比如js解释器?获取变量的时候,必须把所有变量run出来,然后再根据标签去寻找吗?
    3. 关于html执行js的介绍文章或者书,您有推荐吗?
      

  4.   

    这是你问的:
    想再向您请教几问题:
    1. 上面结论3里那个猜想对吗?
    2. 虽然我是菜鸟,可否麻烦您简略地一两句话跟我说一下脚本的入口在哪里?系统需要准备哪些环境,比如js解释器?获取变量的时候,必须把所有变量run出来,然后再根据标签去寻找吗?
    3. 关于html执行js的介绍文章或者书,您有推荐吗?我答的:
    1.都不对
    2.要获取变量之前,要声明变量。如果是想在标签里面使用js的话,要确定是什么事件,然后在调用方法就可以了。
    3.我推荐一个网站给你www.w3school.com.cn/b.asp。
      

  5.   


    我加了500多个断点,归纳出的结论,不对也正常,如果能找到原理性的东西,就清楚了。
    谢谢你的推荐,我学习一下。加油ヾ(◍°∇°◍)ノ゙您好,我在您推荐的网站上,把javascript html相关的内容学习了下。现在可以理解javascript可以在指定的位置编辑HTML内容。我通过单步调试也把脚本都串了一遍。找到了写表格的函数。 看来这个调用链条还是蛮复杂的!跟您再确认一个问题, 上面那个空脚本行,到底有什么用呢? 我看走到这里之后,F10就走到了下一个脚本处,这里好像什么也没干。