我在下载使用网页内容最近工作的WebClient在C#。 该DownloadString
Web客户端的方法不能下载从iframe中的内容。
下载内容的短代码已经被使用:
using (var client = new WebClient())
{
string html = client.DownloadString("url");
}
我应该需要使用在C#阅读iframe中的内容?
为了测试,我使用http://multiprofits.co.uk/oddsmatcher.html具有IFRAME在它的网站。
你要寻找的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);
}
对于正则表达式,你可以使用这个正则表达式来获得图像的SRC在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]欲了解更多详情请cotact support@oddsmonkey.com
所以你一定不能直接下载的iframe源。 你可能不得不使用web浏览器或类似这样