Как извлечь информацию из html в С#?

Может ли кто-нибудь научить меня извлекать информацию из html на С#? Я работаю с библиотекой классов WinRT на С#.

Я хочу извлечь основной контент и изображение из http://lifehacker.com/5923026/remains-of-the-day-google-image-search-gets-knowledge-graph-integration.

Вот частичный код сайта,

<html xmlns="http://www.w3.org/1999/xhtml" class="feature_chompcommentimages feature_s3upload feature_switch feature_powwowtest" xmlns:fb="http://www.facebook.com/2008/fbml">
    <head>
  **<title>Remains of the Day: Google Image Search Gets Knowledge Graph Integration</title>**
          <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <meta http-equiv="content-language" content="en" />
  <meta http-equiv="refresh" content="86400" />
  <meta name="robots" content="all" />
                      <meta name="keywords" content="For What It&#039;s Worth, remainders, in brief, Lifehacker" />
                  <meta property="fb:page_id" content="7568536355" />
                              <meta name="title" content="Remains of the Day: Google Image Search Gets Knowledge Graph Integration" />
      **<meta name="description" content="Google updates Image Search with Knowledge Graph integration, VLC for OS X now supports Retina display, Sparrow updates with Retina display and Mountain Lion support, and Amazon introduces barcode scanning app Flow for iOS. " />**
                      <link rel="image_src" href="http://img.gawkerassets.com/img/17rm77tdcfd31jpg/original.jpg" />
          <meta property="og:image" content="http://img.gawkerassets.com/img/17rm77tdcfd31jpg/xlarge.jpg" />
                  <meta property="og:site_name" content="Lifehacker"/>
      <meta property="og:title" content="Remains of the Day: Google Image Search Gets Knowledge Graph Integration" />
      <meta property="og:description" content="Google updates Image Search with Knowledge Graph integration, VLC for OS X now supports Retina display, Sparrow updates with Retina display and Mountain Lion support, and Amazon introduces barcode scanning app Flow for iOS." />
      <meta property="og:type" content="article" />

Я могу использовать SyndicationFeed.Title.Text (используя Windows.Web.Syndication;) для извлечения остатков дня: Google Image Search получает интеграцию с сетью знаний

пожалуйста, помогите мне извлечь

<meta name="description" content="Google updates Image Search with Knowledge Graph integration, VLC for OS X now supports Retina display, Sparrow updates with Retina display and Mountain Lion support, and Amazon introduces barcode scanning app Flow for iOS. " />*

Мне также нужно извлечь основной контент внутри

<div id="container"> <script type="text/javascript">

<!-- %JUMP:More &raquo;% --><\/p>\n<ul>\n<li><a href=\"http:\/\/insidesearch.blogspot.com\/2012\/07\/find-smarter-more-comprehensive-search.html\">Find Smarter, More Comprehensive Search by Image Results<\/a> <i>Google updated its Image Search with a couple of new features. One being an expanded view that lets searchers see the text around matching images, and the other being added support for Knowledge Graph to image search results, which means Google will attempt to identity any photo that you upload or link to and provide more information about the subject.<\/i> [Google Blog]<\/li>\n<li>

Контент: «Находите более умный и полный поиск по результатам изображений» «Google обновил свой поиск изображений, добавив пару новых функций. Одна из них — расширенное представление, позволяющее пользователям видеть текст рядом с совпадающими изображениями, а другая — добавлена ​​поддержка Knowledge Graph. к результатам поиска изображений, что означает, что Google попытается идентифицировать любую фотографию, которую вы загружаете или на которую ссылаетесь, и предоставляет дополнительную информацию о предмете. [Блог Google]"

Большое спасибо!!

[7/4/12]
извините, ребята, я пытаюсь извлечь текст (в виде строки) и изображение (ссылку или BitmapImage) из html, проанализировав его непосредственно из html или проанализировав его, сначала преобразовав его в xml .

Я использую HtmlAgilityPack с htmlagilitypack.codeplex.com с учебным пособием с 4guysfromrolla.com/articles/011211-1.aspx. Хотя мне все еще интересно, есть ли лучшее решение для приложения в стиле Metro, поскольку HtmlAgilityPack не поддерживает его. Например, у него есть метод для преобразования html в xml, но WinRT больше не поддерживает XmlTextReader из .NET.

Еще раз спасибо


person Jerry    schedule 03.07.2012    source источник
comment
Откуда вы хотите извлечь информацию? Извлечь как поток или извлечь как файл?   -  person    schedule 03.07.2012
comment
Джерри, если ответ, который я дал, не тот, который вам нужен, было бы более вежливо связаться с вами (например, прокомментировать мой ответ), а не просто проголосовать за него. Вы просите о помощи, я пытаюсь вам помочь.   -  person Andre Calil    schedule 03.07.2012
comment
У вас возникнут проблемы с обработкой этого файла как XML, потому что это недопустимый XML. Попробуйте использовать библиотеку синтаксического анализа HTML. См.: stackoverflow.com/questions/56107/   -  person Bennor McCarthy    schedule 03.07.2012
comment
дубликат stackoverflow.com/questions/11304400/   -  person Phil    schedule 03.07.2012
comment
возможный дубликат Как читать XML в C#?   -  person powtac    schedule 03.07.2012
comment
извините, ребята, я нашел ответ. Я пытаюсь извлечь текст (содержимое) и изображение (ссылку) из html, проанализировав его непосредственно из html или проанализировав его, сначала преобразовав его в xml. Я использую HtmlAgilityPack из htmlagilitypack.codeplex.com с учебным пособием из 4guysfromrolla.com/articles/011211-1.aspx. Хотя мне все еще интересно, есть ли лучшее решение для приложения в стиле Metro, поскольку HtmlAgilityPack не поддерживает его. Например, у него есть метод для преобразования html в xml, но WinRT больше не поддерживает XmlTextReader из .NET.   -  person Jerry    schedule 04.07.2012
comment
@Jerry: Я подозреваю, что в будущем могут быть и другие, кто разделит эту потребность - если у вас есть время, чтобы написать краткий ответ, объясняющий, как вы справились с этим в WinRT, они могли бы извлечь выгоду из ваших усилий.   -  person Shog9    schedule 04.07.2012


Ответы (1)


Джерри, вместо того, чтобы анализировать этот XML, я бы рекомендовал вам использовать библиотеку RSS. Взгляните на RssToolkit.

person Andre Calil    schedule 03.07.2012
comment
Спасибо, но я использую инструмент, совместимый с приложением в стиле Metro. - person Jerry; 03.07.2012