2012-01-25 131 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