如何从外部网站获取HTML表值?

时间:2019-02-23 12:33:09

标签: javascript html download cross-domain

我想访问一些HTML表数据以保存和离线使用它们。目前,当我下载网页并将JavaScript放入该文件时,我会使用JavaScript并能正常工作。但是我想直接从网页上获取元素,而无需事先下载,或者JavaScript自动下载并从下载的文件中获取元素。

有可能吗?我找不到答案,因为每个人都在索要自己的网页,但我不拥有想要从中获取表数据的网站。

到目前为止,我的代码:

for i, row in df_other.iterrows():
    row['texts'] = remove_texts(row['texts'], row['to_remove_split'])

function showTableData() { var tableData = document.getElementsByClassName('homeonly'); for (i = 1; i < tableData[0].rows.length; i++) { var objCells = tableData[0].rows.item(i).cells; for (var j = 0; j < objCells.length; j++) { if (objCells.item(j).innerHTML == "NAME") { info.innerHTML = info.innerHTML + ' ' + objCells.item(3).innerHTML; } } } } 是HTML中要显示的段落元素的ID。

4 个答案:

答案 0 :(得分:0)

首先,您必须确保在远程(您要下载的站点)合法地允许它。

只需发送带有URL的GET HTTP请求,您将得到html作为响应。您可以解析html并查找表和其他元素。

如果远程服务器不允许跨域,则必须使用HTTP客户端创建一些后端,以提供html。

答案 1 :(得分:0)

您的第一个选择是下载网页的静态版本,然后将您的JavaScript代码注入该网页。

或者-第二种选择-我觉得更简单,请使用Chrome的JavaScript控制台执行所需的命令。

如果发现此方法有局限性,则可以找到一个Web抓取node.js库,并将其写入其中。

答案 2 :(得分:0)

您可以使用网页抓取。有多种语言的各种Web抓取工具。我也是python开发人员,我用python selenium和scrapy创建了许多脚本。因此,我认为这是满足您要求的最佳解决方案。

答案 3 :(得分:0)

您打算采取的行动很可能是xss攻击的一种形式,大多数网站都会对此做准备。在不下载实际网页的情况下,最好的办法是打开chrome上的“检查元素”标签,然后转到console。然后在此处粘贴并运行您的函数,因为您可以在那里访问DOM。

enter image description here