Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсинг html страницы 
:(
    Опции темы
msmutant
Дата 2.10.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Появилась идея написать парсер для 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
   Как это реализовать?? если через регулярные выражения, то выражение.

Спасибо за внимание.
PM MAIL   Вверх
diadiavova
Дата 2.10.2008, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 18
Всего: 142



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


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Rififi
Дата 2.10.2008, 19:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: нет
Всего: 36



Парсить через регэкспы.
например для 


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


подойдёт 
Код

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


брать искомое во второй регэксповой группе
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0414 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.