Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Парсинг html страницы


Автор: msmutant 2.10.2008, 16:09
Появилась идея написать парсер для wordstat.yandex.ru
Но возникло 2 вопроса, так как с этого парсера начал изучения C#.

1)Как оставить часть текста начиная со каких-либо слов и заканчивая другим словом?
   У меня получилось
   content - код хтмл страницы
   int start = content.IndexOf("Что искали");
   int end   = content.IndexOf("Что еще");
   А проще можно?или есть другие способы?
2)При парсинге надо выделить слово и количество запросов. 
   Чтобы вместо <a href="address">value</a> получил значение value.
   Вместо <td align=\"right\">5291</td> получить 5291
   Как это реализовать?? если через регулярные выражения, то выражение.

Спасибо за внимание.

Автор: diadiavova 2.10.2008, 18:44
А библиотека Microsoft.mshtml.dll не подойдёт? Зачем "изобретать велосипед"?

Автор: Rififi 2.10.2008, 19:53
Парсить через регэкспы.
например для 


 Чтобы вместо <a href="address">value</a> получил значение value.
   Вместо <td align=\"right\">5291</td> получить 5291


подойдёт 
Код

const TCHAR* re = _T("<(\\w+)\\s\\w+=\\\\?\\\".+?\\\\?\\\">(.*?)<\\/\\1>");


брать искомое во второй регэксповой группе

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)