我想访问一些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。
答案 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。