1

我尝试通过传递 URL 使用简单的 doc.load 方法使用 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>
4

1 回答 1

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

这个Message说明了一切,这边需要加载javascript,而且HtmlAgilityPack是没有JavascriptEngine的!

HtmlDocument 的加载方法不能解释和执行 Javascript 代码,它只是一个简单的“下载”功能,用于静态 HTML 站点。

您可以尝试做的是,使用Firebug(或其他东西)检查为获取内容而发出的 HttpRequest,并且您必须在 C# 中重新创建此请求才能获得所需的 HTML!

以下是一些类似的问题:

在 HtmlAgilityPack 中运行脚本

C# - 使用 HTMLAgilityPack 获取 JavaScript 变量值

从 HtmlAgilityPack 调用 javascript 函数

于 2013-09-12T06:11:40.483 回答