2012-01-25 177 views
0

我正在制作一个应用程序,我想从iframe中获取一些内容, 在iFrame代码中就是这样。从iframe获取html

<div class="abc">

<a class="abc" href="example.com" data-ctorig="example2.com" > **** </a>

</div>

我想要的网站 “example2.com” 我的应用程序。 我使用ASP.NET(C#),HtmlAgilityPack .... 如何做到这一点?

我转到iframe的“src”链接。但是我又一次没有发现。我给你链接click here。 打开此页面,我想解析给定的链接。 1.如何在没有指南针的情况下找到真北: 2.如何在没有指南针的情况下找到真北。

回答

1

Point HtmlAgilityPack到IFrame URL,而不是主机页面。

澄清......

如果我理解正确的话,你可以获取使用Web客户端和HtmlAgilityPack iframe的HTML。

首先,您需要使用WebClient来获取主机页面的HTML。然后,您需要使用HtmlAgilityPack解析主机页面HTML并提取IFrame URL。接下来,您需要使用另一个WebClient从IFrame URL获取HTML,并再次使用HtmlAgilityPack解析响应,这会给您提供什么。

当然,您的问题非常模糊,所以我不完全确定这是您之后的事情。无论哪种方式,以下链接应该可以帮到你。

HtmlAgilityPack Tutorial

Download HTML Using WebClient

+0

如何获取iframe网址。 –

+0

使用WebRequest从主机页面获取HTML,然后使用HtmlAgilityPack解析它。使用HtmlAgility包从HTML中提取iFrame。使用获取的IFrame的src属性执行另一个Web请求,并使用HtmlAgilityPack解析响应。 – ctorx

+0

嗨! @Matthew,你能举个例子吗?我试图使用HtmlAgilityPack从HTML中提取iframe。但我失败了,请举例。 –

0

假设你正在谈论从服务,并在客户端浏览器呈现的网页这样做,你就需要在JavaScript这样做,不C#。 iframe在客户端浏览器上呈现,因此您的服务器端代码将无法访问它。

+0

也许他们是屏幕抓取? – Douglas

+0

即使它们是屏幕抓取,至少它会需要一些JavaScript来抓取iframe内容并将其返回到服务器。但他的问题是如何获得内容,而不是如何解析它。他无法使用C#来获取它。 – CodingGorilla

+0

也许_they_是客户;他们需要解析第三方页面的内容。 – Douglas