Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
1

Создание RSS агрегатора

04.07.2012, 21:23. Просмотров 1872. Ответов 30
Метки нет (Все метки)

возникла срочная необходимость создать простенький RSS,который получает новости,а отображает их в дефолтном браузере,однако ни с чем подобным не сталкивался прежде.я не прошу готовый код,я лишь прошу подсказать мне какие шаги нужно сделать,если вы знаете уже сделанный пример,скиньте пожалуйста ссылку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2012, 21:23
Ответы с готовыми решениями:

Поиск по .txt файлу (RSS)
Доброго времени суток. Пытаюсь придумать что-нибудь, чтобы работать с RSS без...

Создание RSS
Здрасте. Подскажите я уже разобрался как создать xml -файл через данные с...

Создание Rss ридера
Мне нужно прочитать RSS канал и вывести его на страничку, это можно сделать с...

Создание RSS реадера
Я хочу прикрутить RSS ленту к pull to refresh Тоесть не выводить на екран всю...

Создание RSS-reader с оффлайн базой
нужно создать программу в Windows Forms, т.е. рсс ридер с оффлайн базой,но вся...

30
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
04.07.2012, 21:55 2
Ну, а скачать html + сохранить + парсить + открыть в браузере результат...
Не канает?
0
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
04.07.2012, 22:02  [ТС] 3
да дело в том,что ничего из этого н едоводилось делать,в этом вся беда
0
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
04.07.2012, 22:09 4
А на чем и под чем пишешь?

html - страницу можно скачать библиотекой curlib
Парсить boost/regex.

А авторизация нужна?


Скачивание из интернета
Builder и curl

http://www.cyberforum.ru/cpp-beginners/thread536710.html
1
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
04.07.2012, 22:30  [ТС] 5
пишу на С++
нужно лишь получить новости и отобразить заголовок новости и часть новости

Добавлено через 29 секунд
Цитата Сообщение от Avazart Посмотреть сообщение
html - страницу можно скачать библиотекой curlib
вы не могли привести ссылку на пример
0
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
04.07.2012, 22:33 6
пишу на С++
Я имею ввиду среду разработки и OS.
вы не могли привести ссылку на пример
Привел - первая ссылка в конце темы.
0
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
04.07.2012, 22:34  [ТС] 7
Visual Studio 2010 & Windows
0
dr.curse
393 / 349 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
05.07.2012, 15:09 8
Цитата Сообщение от Avazart Посмотреть сообщение
html - страницу можно скачать библиотекой curlib

Не по теме:

но вообщето не curlib а libcurl :)


а вообще лучше качать самому, составить GET запрос не так уж и сложно

Цитата Сообщение от Avazart Посмотреть сообщение
Парсить boost/regex.
а зачем regex? RSS этож xml файл тоесть лучше использовать xml парсер скажем expat, tinyxml
1
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
05.07.2012, 15:29 9
а вообще лучше качать самому
Это почему?
Тут почему-то высказали другое мнение Скачивание из интернета
0
dr.curse
393 / 349 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
05.07.2012, 15:38 10
Avazart, а я и неговорил все качать самому, мой совет был только для этой программы. Давайте рассуждать логически, зачем использовать curl для закачки одного маленького файла?
0
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
05.07.2012, 15:42 11
Ну, а что использовать?
0
dr.curse
393 / 349 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
05.07.2012, 15:44 12
winsock или сокеты беркли, смотря на какой платформе
0
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
07.07.2012, 00:10 13
Но это посути ручками.
0
dr.curse
393 / 349 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
07.07.2012, 01:02 14
Цитата Сообщение от Avazart Посмотреть сообщение
Но это посути ручками.
мне так больше нравится, и кстати если добавить один #ifdef, будет кроссплатформенность
0
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
07.07.2012, 17:51  [ТС] 15
есть проблема с парсингом xml документа
вылетает ошибка при компиляции
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
TiXmlDocument* doc = new TiXmlDocument("C:\\data.xml");
 
    bool LoadOK = doc->LoadFile();
 
    if(LoadOK)
    {
        cout << "error\n";
        return 0;
    }
 
    TiXmlElement *element = doc->FirstChildElement("channel");
 
    element = element->FirstChildElement("item")//здесь ошибка
 
    int count = 0;
 
    while(element != NULL)
    {
        TiXmlElement *title = element->FirstChildElement("title");
        cout << title->GetText() << endl;
        element->NextSiblingElement();
    }
0
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
09.07.2012, 01:47 16
Ну наверное следовало бы и сам xml выложить, ошибку указать
0
grizlik78
Эксперт С++
1988 / 1480 / 192
Регистрация: 29.05.2011
Сообщений: 3,059
09.07.2012, 01:53 17
Цитата Сообщение от alexey31415 Посмотреть сообщение
C++
1
element = element->FirstChildElement("item")//здесь ошибка
Ну здесь-то и в самом деле ошибка. Не хватает точки с запятой в конце. Или кто-то нас дурит и точка с запятой там есть?
0
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
09.07.2012, 02:24  [ТС] 18
Цитата Сообщение от grizlik78 Посмотреть сообщение
точка с запятой там есть
да это тогда было,я конечно поставил ;
вот файл
а вот код,что есть на данный момент
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "tinyxml.h"
#include "tinystr.h"
 
#include<iostream>
 
using namespace std;
 
#pragma comment(lib, "tinyxml.lib")
 
int main()
{
 TiXmlDocument doc("C:/data.xml");
 
 /*TiXmlDeclaration dec; 
 dec.Parse( "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>", 0, TIXML_ENCODING_UTF8 ); 
 doc.InsertEndChild( dec );
 
 doc.SaveFile();*/
 
 bool LoadOK = doc.LoadFile();
 
 if(!LoadOK)
 {
  cout << "error\n";
  system("pause");
  return 0;
 }
 
 TiXmlElement *rss = doc.FirstChildElement("rss");
 
 TiXmlElement *channel = rss->FirstChildElement("channel");
 
 channel = channel->FirstChildElement("title");
 
 int count = 0;
 
 while(channel != NULL)
 {
  TiXmlElement *title = channel->FirstChildElement("title");
  cout << title->GetText() << endl;
  channel=channel->NextSiblingElement();
 }
 
 system("pause");
 
 return 0;
 
}
Добавлено через 2 минуты
xml файл
0
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
09.07.2012, 02:33  [ТС] 19
выкидывается ошибка
и открывается файл со следующей функцией
C++
1
2
3
4
5
6
7
8
9
10
const TiXmlNode* TiXmlNode::FirstChild( const char * _value ) const
{
    const TiXmlNode* node;
    for ( node = firstChild; node; node = node->next )
    {
        if ( strcmp( node->Value(), _value ) == 0 )//сюда указывает стрелка,значит ошибка в этой строке
            return node;
    }
    return 0;
}
0
Миниатюры
Создание RSS агрегатора  
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
09.07.2012, 16:41 20
Выложите C:/data.xml

Как я понимаю можно использовать еще libxml2 как парсер.
( http://www.cyberforum.ru/blogs/131347/blog538.html )
0
09.07.2012, 16:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2012, 16:41

Создание RSS на базе Material Design
Добрый день! Подсел на тему Материал Дизайн. Уж очень она мне понравилась. Сам...

Создание RSS ленты канала YouTube
Всем здрасти! Понадобилось создать RSS ленту своего канала YouTube....

Количество новостей rss ленты и подключения несколько rss лент
Здравствуйте, возник такой вопрос, у меня есть rss-лента, одна она работает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru