目前工作中遇到一个困难,需提取价格数据,但数据似乎是异步载入的。
参考页面:http://finance.sina.com.cn/realstock/company/sz300228/nc.shtml
<tr>
<th>
金额(万元)
</th>
<td>[@mainIn](/user/mainIn)@</td>
<td>[@mainOut](/user/mainOut)@</td>
<td>[@retailIn](/user/retailIn)@</td>
<td>[@retailOut](/user/retailOut)@</td>
</tr>
请高手讲解一下这种怎么回事,该如何解决?
问题说明白点,这样没人知道你想要什么?
你如果想直接获取页面上的值,直接jquery不行吗?
页面中的《td》…《/td》之间的信息不是具体数值,而是模版变量。用抓取程序读取的结果是:《td》@mainIn@《/td》,而不是具体数值(比如:《td》95.05《\td》),应该是页面中js程序用ajax方式替换@mainIn@为95.05。
我如何才能找到@mainIn@替换方法和数值源头,具体例子请看这个页面的代码:http://finance.sina.com.cn/realstock/company/sz300228/nc.shtml
var reg = /<td>(\d+(?:.\d+)?)</td>/ig; var str = ‘<td>100.10</td><td>1123</td>’; var match = null; while((match = reg.exec(str)) != null) { console.log(match); }
尼玛… 把格式全部都干掉了… 无法正常回复啊…
<code> var reg = /<td>(\d+(?:.\d+)?)</td>/ig; var str = ‘<td>100.10</td><td>1123</td>’; var match = null; while((match = reg.exec(str)) != null) { console.log(match); } </code>
<pre> var reg = /<td>(\d+(?:.\d+)?)</td>/ig; var str = ‘<td>100.10</td><td>1123</td>’; var match = null; while((match = reg.exec(str)) != null) { console.log(match); } </pre>
var reg = /<td>(\d+(?:.\d+)?)</td>/ig; var str = ‘<td>100.10</td><td>1234</td>’; var match = null; while((match = reg.exec(str)) != null) { console.log(match); }
尼玛啊 我放弃了…
这是个问题,你给的这个链接在请求的时候还没有数据,数据是后来加载上去的,就算你请求这个链接也是没有数据的,所以这还真是个问题,我也想知道怎么解决这个问题?