我最近一直在使用C#中的WebClient下载网页内容。 WebClient的DownloadString
方法无法从iframe下载内容。
下载内容的简短代码用作:
using (var client = new WebClient())
{
string html = client.DownloadString("url");
}
我需要使用什么来阅读C#中的iframe内容?
对于测试,我使用的是http://multiprofits.co.uk/oddsmatcher.html网站,其中包含iframe。
答案 0 :(得分:2)
您必须在主页面中搜索iframe标记,然后使用src属性在iframe中下载页面
using (var client = new WebClient())
{
string html = client.DownloadString("url");
string src = ... //find iframe source with regex
string iframe = client.DownloadString(src);
}
对于正则表达式,您可以使用此Regular Expression to get the SRC of images in C#
编辑:
using (var client = new WebClient())
{
string html = client.DownloadString("http://multiprofits.co.uk/oddsmatcher.html");
string src = Regex.Match(html, "<iframe.+?src=[\"'](.+?)[\"'].*?>", RegexOptions.IgnoreCase).Groups[1].Value;
Console.Write(client.DownloadString(src));
}
你真的得到了这个代码的iframe源
Edit2:
我找到了你的问题。这是该网站的安全问题。在新浏览器中启动iframe网址,您将收到以下消息:
oddsmatcher不允许在此域名上运行 [v2.oddsmatcher-data.co.uk/v2.oddsmatcher-data.co.uk] 有关详细信息,请联系support@oddsmonkey.com
因此您必须无法直接下载iframe源代码。您可能必须使用WebBrowser或类似的东西