有一个互联网页面,当你点击一个javascript链接(带有javascript:...的标签)时,会加载一个表格。 我需要把这个表放到我的Asp.net网站上。没有执行任何脚本的URL没有包含该表的URL。 这就是我目前使用的:
public string GetFromUrl(string path)
{
WebClient web = new WebClient();
return web.DownloadString(path);
}
public string GetTagHTML(string html)
{
Regex regex = new Regex("<table>(.*)</table>");
var v = regex.Match(html);
return v.Groups[1].ToString();
}
更多信息
我尝试从中获取数据的网站是http://beitbiram.iscool.co.il/default.aspx (这是希伯来语。我试图点击的链接是表格标题之一。)
该网站是一个asp.net网站。
链接调用的函数是__doPostBack
。我不知道它做了什么,也找不到任何有关它的在线信息,但这是它的代码:
var theForm = document.forms['Form'];
if (!theForm) {
theForm = document.Form;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
提前致谢。
答案 0 :(得分:0)
一般来说,运行Javascript后获取页面HTML的唯一方法是运行Javascript,这需要一个浏览器。
然后,对您的问题的直接回答是使用类似Headless Chrome的内容来启动浏览器,加载页面,单击链接以及导出HTML。这在历史上一直是一个巨大的痛苦,虽然Headless Chrome应该不那么痛苦。
但是,您运行的javascript:
链接必须从某处获取数据才能将其放入表中,因此我强烈建议您自己查找该源并构建表,因为我当然不会这样做。 ;如果我不是必须的话,我想维护一个带有嵌入式浏览器的网站。