C# 用c语言阅读网页iframe内容#
我最近一直在使用C#下载网页内容。WebClient的C# 用c语言阅读网页iframe内容#,c#,html,iframe,web-scraping,webclient,C#,Html,Iframe,Web Scraping,Webclient,我最近一直在使用C#下载网页内容。WebClient的DownloadString方法无法从iframe下载内容 下载内容的简短代码已被用作: using (var client = new WebClient()) { string html = client.DownloadString("url"); } 阅读C#中的iframe内容需要使用什么 对于测试,我使用的是包含iframe的站点。您必须在主页中搜索iframe标记,然后使用src属性在ifra
DownloadString
方法无法从iframe下载内容
下载内容的简短代码已被用作:
using (var client = new WebClient())
{
string html = client.DownloadString("url");
}
阅读C#中的iframe内容需要使用什么
对于测试,我使用的是包含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);
}
对于正则表达式,您可以使用这个
编辑:
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));
}
使用(var client=new WebClient())
{
字符串html=客户端。下载字符串(“http://multiprofits.co.uk/oddsmatcher.html");
string src=Regex.Match(html,“使用HtmlAgilityPack
手动解析内容,然后使用另一个DownloadString
请求加载iframe
,或者使用WebBrowser
(支持)。这里的问题是,从另一个下载字符串中获取的iframe内容不正确,该字符串已显示在原始网页中。@akash88与?@akash88重复,然后使用WebBrowser
,按照我发布的链接进行操作。@PaulZahra:问题与该解决方案相同。我也这样做过。但iframe内容并不是它的本质在网页中显示。我不明白。iframe src是显示的页面的url。因此,如果您下载此页面,您将拥有iframe内容。如果iframe页面包含css、javascript,…您也必须下载它们才能正确显示页面。因此,您最好使用工具,您不会从该iframe源获取实际的iframe内容我已经试过了:(谢谢你的努力。我已经得到了iframe源url。这不是问题。主要问题是我无法用该源url获得正确的iframe内容。