无法通过HtmlAgilityPack加载HTML

时间:2013-09-12 05:48:17

标签: html-agility-pack

我尝试使用简单的doc.load方法通过传递URL来使用HtmlAgilityPack解析HTML,但它带有以下结果如何解决此问题?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
function setCookie(c_name, value, expiredays) { 
  var exdate = new Date(); 
  exdate.setDate(exdate.getDate()+expiredays); 
  document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";
  expires=" + exdate.toGMTString()) + ";path=/"; } 
  function getHostUri() 
  { var loc = document.location; return loc.toString(); }
  setCookie('YPF8827340282Jdskjhfiw_928937459182JAX666', '202.142.170.42', 10); 
  setCookie('DOAReferrer', document.referrer, 10); location.href = getHostUri();
</script>
</head>
<body>
<noscript>This site requires JavaScript and Cookies to be enabled. Please change your   browser settings or upgrade your browser.</noscript>
</body></html>

1 个答案:

答案 0 :(得分:0)

  此站点需要启用JavaScript和Cookie。   请更改您的浏览器设置或升级您的   浏览器。

此消息说明了一切,该方需要加载javascript,而HtmlAgilityPack不是JavascriptEngine!

HtmlDocument的加载方法无法解释和执行Javascript-Code这只是一个简单的“下载” - 静态HTML站点的功能。

您可以尝试做的是,使用Firebug(或something else)检查要获取内容的HttpRequest,以及此请求您必须recreate in C#才能获取HTML你想要的!

以下是一些类似的问题:

Running Scripts in HtmlAgilityPack

C# - Get JavaScript variable value using HTMLAgilityPack

Calling javascript function from HtmlAgilityPack