在C#中读取网页内容的iframe(Reading webpage iframe content i

2019-10-20 07:48发布

我在下载使用网页内容最近工作的WebClient在C#。 该DownloadString Web客户端的方法不能下载从iframe中的内容。

下载内容的短代码已经被使用:

   using (var client = new WebClient())
   {
        string html = client.DownloadString("url");
   }

我应该需要使用在C#阅读iframe中的内容?

为了测试,我使用http://multiprofits.co.uk/oddsmatcher.html具有IFRAME在它的网站。

Answer 1:

你要寻找的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浏览器或类似这样



文章来源: Reading webpage iframe content in c#