Чтение веб-страницы iframe в c #

Недавно я работал над загрузкой содержимого веб-страницы с использованием WebClient в C #. Метод DownloadString WebClient не может загрузить контент из iframe.

Короткий код для загрузки контента использовался как:

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

Что мне нужно использовать для чтения содержимого iframe на C #?

Для тестирования я использую сайт 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, "", RegexOptions.IgnoreCase).Groups[1].Value; Console.Write(client.DownloadString(src)); } 

Вы действительно получаете источник iframe с этим кодом

Редактировать2:

Я нашел вашу проблему. Это проблема безопасности с сайта. Запустите iframe url в новом браузере, вы получите это сообщение:

oddsmatcher не разрешено запускать это доменное имя [v2.oddsmatcher-data.co.uk/v2.oddsmatcher-data.co.uk] Для получения дополнительной информации, пожалуйста, cotact support@oddsmonkey.com

Поэтому вы не можете напрямую загрузить источник iframe. Вероятно, вам придется использовать WebBrowser или что-то вроде этого