如何通过HTML Agility Pack获取通过AJAX生成的html?

时间:2016-04-13 11:04:33

标签: c# html asp.net ajax html-agility-pack

我正在尝试解析网页。通过AJAX生成的页面的一部分, .setConverter(new SimpleXMLConverter()) 除了通过AJAX生成的代码之外,我可以获得整个HTML吗?请问有人帮帮我吗?

我的代码是:

WebClient.DownloadString

我需要空缺名单......

1 个答案:

答案 0 :(得分:1)

可以获取通过AJAX生成的内容但是它不是直接的任务,所有你得到的是页面源(你可以看到的相同)你右击并说出查看页面来源)

要获取ajax内容,您必须记下AJAX呼叫命中的网址,然后再次调用此网址以获取内容。 You can get this if you inspect the Network Tab of the developer window in any browser或甚至查看其中的javascript代码。

缺点:这也意味着你只需要获得AJAX调用的响应,但是如果javascript正在操作这个响应(比如从json响应中创建一个表)。您可能需要在最后手动执行此操作。

所以这也意味着你最终会编写与javascript中相同的逻辑来获得结果HTML,这似乎有很多痛苦和错误的漏洞。

优势:如果您只关注HTML中的数据(例如来自网站数据库的数据)而不是确切的HTML本身,那么这种方法对您有用。