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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отпарсить новости 
V
    Опции темы
ДобренькийПапаша
Дата 14.4.2010, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

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



Ссылка
Как отпарсить новости с этой страницы? Новости к себе в программу надо засунуть, при этом сохранив ссылки на которые указывают эти новости (строки).


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
wester
Дата 14.4.2010, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



самое банальное это Regex.
можно конечно еще разобрать как XML 
PM MAIL   Вверх
ДобренькийПапаша
Дата 14.4.2010, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

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



Цитата(wester @ 14.4.2010,  16:52)
самое банальное это Regex.
можно конечно еще разобрать как XML

Вы говорите про то, что используется после парсинга. Мне нужно узнать как выдрать строки нужные со страницы))) (сохранив при этом ссылки). А Regex если понадобится потом, это уже другой вопрос.

Каждая строка мне нужная здесь обёрнута вот так:
Код

<TR class="news_header_nrm">
          <TD class="news_time" valign="top">15:25</TD>
          <TD><IMG src="/images/zamok_blue.gif" width="13" height="11"></TD>
          <TD class="news_header_nrm">

            <A href="/news/show.asp?id=2716392&ct=newsdailydemo" 
            class="news_header_nrm" 
            style="text-decoration:underline;">
                  Фондовые индексы мира на 11:25 по Гринвичу    //Вот это сама новость
            </A> 

          </TD>
        </TR>


Это сообщение отредактировал(а) ДобренькийПапаша - 14.4.2010, 19:29


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
jonie
Дата 15.4.2010, 10:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



ну вот регэксп
Код

<TR class="news_header_nrm">(.*?)</TR>

и чЕ, нам за вас писать "скачивалку, и применение этого регэкспа" ?)


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
diadiavova
Дата 15.4.2010, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(ДобренькийПапаша @  14.4.2010,  16:17 Найти цитируемый пост)
Как отпарсить новости с этой страницы? 

Проще всего воспользоваться готовым решением, sgmlreader, HTML Agility Pack, или той же библиотекой mshtml.


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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

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



Цитата(jonie @ 15.4.2010,  10:32)
ну вот регэксп
Код

<TR class="news_header_nrm">(.*?)</TR>

и чЕ, нам за вас писать "скачивалку, и применение этого регэкспа" ?)

Регэксп не рабочий. Я здесь кавычки внутри выражения на точки заменил, но всё равно не находит. У меня с регэкспами проблемы, так что, просьба с регэкспом помочь)))
Писать тут особо ничего и не надо. Вот код.

Код

private void Form1_Load(object sender, EventArgs e)
        {
            WebClient cl = new WebClient();
            string responseFromServer = cl.DownloadString("http://www.djforex.ru/");
            
            string pattern = @"<TR class=.news_header_nrm.>(.*?)</TR>";

            MatchCollection Matches = Regex.Matches(responseFromServer, pattern,
                                                    RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture);

            foreach(Match nextMatch in Matches)
            {
                MessageBox.Show(nextMatch.ToString(), "CurrentNews");
            }
        }



Это сообщение отредактировал(а) ДобренькийПапаша - 15.4.2010, 16:07


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
ДобренькийПапаша
Дата 15.4.2010, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

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



Так заработало)))
Код

 private void Form1_Load(object sender, EventArgs e)
        {
           WebClient cl = new WebClient();
           string responseFromServer = cl.DownloadString("http://www.djforex.ru/");
           
           Regex pattern = new Regex(@"class=.news_header_imp.\sstyle=.text-decoration:none;.>(.*?)</A>");
           MessageBox.Show(pattern.Match(responseFromServer).Groups[1].ToString());
           
        }



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

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


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

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


 




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


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

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