如何获取来自不同主机的表的特定单元格的值
How to get value of a specific cell of a table thats from a different host
如标题所示。。
我正在尝试从外部网站的表格中收集特定的单元格信息。然后我想在我自己的表的单元格中显示该值。这是在一个事件上完成的,例如按下"更新"按钮。
外部站点的表格格式如下:
<table class="data-table">
<tr>
<td class="label">jhgjghgf:</td>
<td class="data">0.20079</td>
<td class="spacer"><span></span></td>
<td class="label">hdfxshgx:</td>
<td class="data">-0.383</td>
</tr>
<tr>
<td class="label">kjhgk:</td>
<td class="data">90.008</td>
<td class="spacer"><span></span></td>
<td class="label">kjhg:</td>
<td class="data">N/A</td>
</tr>
</table>
假设我试图只收集第2行第2列,然后在我自己的表中显示值。我能做什么?
对不起,我还没有开始编码,因为我的整个网站取决于我/我们是否能做到这一点。
使用jQuery,您可以获得如下值:
$('.data-table tr:nth-child(2) td:nth-child(2)').text()
如果你想通过AJAX请求外部站点的表,然后从表中获取值,你可以这样做:
$.get(<url of external site>).function(result) {
var value = $(result).('.data-table tr:nth-child(2) td:nth-child(2)').text();
// now add this value to your table, e.g. $('.my_table td')[0].text(value);
};
您需要通过服务器语言库(即:通过Coldfusion http()或PHP HttpRequest())来完成此操作。
您可以通过纯js(通过ajax/jQuery)来执行此操作,但前提是您有跨浏览器规则和访问文件设置(即:您正在挖掘的其他站点需要授予您权限,请参阅https://www.bionicspirit.com/blog/2011/03/24/cross-domain-requests.html获取更多信息)。
一些较旧的浏览器可能会让你处理x浏览器请求,但较新的浏览器不会。
如果你能解决这个问题,那么jQuery将是最简单的,从结果请求中使用基于CSS的选择器(如果你最终能使用jQuery ajax):
myData = $('.data-table tr:nth-child(2) td:nth-child(2)');
这将获得任何第二行、第二个表单元格元素作为jQuery包装集。
我会在服务器端执行此操作。你必须在另一台主机上请求html页面,找到你想要的单元格并将其发送回你的网站。
我不知道您使用的是什么语言,但您可以很容易地找到一些库,这些库允许您像在jquery中那样解析html,但可以说是在php中。
好吧,你可以使用jquery并像这样进行
function getRowData(row,col)
{
var rows = $('.data-table tr');
var cols =$(rows[row],'td');
return cols[col];
}
这将返回指定行和列无的'td'
你可以使用获得它的价值
getRowData(1,1).html();
希望这对有帮助
您在这里试图实现的目标被认为是危险的,应该避免。
忽略来自新手的答案,他们要求你尝试AJAX来获取外部网站的内容。这是不可能的,因为浏览器实现了同源策略。即,您不能从您的网站向任何其他网站提出AJAX请求。
有一些方法可以使用iframes
包含其他网站的页面,但我也不建议这样做。
您最好的选择是依靠服务器端技术来获取有问题的页面,然后对其进行解析并获得所需的值。
由于您没有提到任何服务器端技术,所以我不能给您任何代码示例。
- 使用jquery在单击时在单元格中输入值
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 可以'我不明白为什么;t将行和单元格添加到表中
- 如何在Angular中的表的所有单元格中添加链接
- 表中单元格的总和
- ExtJS网格单元格编辑器,防止焦点松动问题
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- 区分电子表格中的空单元格和0值
- ui网格将单元格显示为选择标记
- 单元格的工具提示或标题不显示超过2000个字符
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 允许表单元格内容水平展开
- 如何将jQuery/AAJAX结果放入表格单元格
- 使用jQuery只返回选中复选框后的第一个表单元格值
- jQuery-通过AJAX调用动态添加具有值的表单元格
- 需要将单元格值复制到html表中的其他单元格中
- 从Javascript中选定的行中获取特定单元格的值
- 使用JavaScript获取Gridview单元格值
- jQuery如何获取td单元格值
- 如何获取来自不同主机的表的特定单元格的值