Написание клиента для какого-нибудь сайта (С++)

Модератор: Модераторы разделов

Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

Написание клиента для какого-нибудь сайта

Сообщение Assuri »

Здраствуйте. Для личной практики и интереса хочу написать Open Source клиент для одного сайта, но если честно понятия не имею как, хотя есть некоторая информация, которою получил от более знающих людей.

Работать с сайтом, как с библиотекой не получится, работать с ним придётся с помощью парсирования HTML кода, который он генерирует после загрузки страницы, а также посылать ему информацию с помощью методов GET и POST. Я был бы очень признатален, если кто-нибудь подскажет библиотеку, которая умеет делать подобные вещи или хотя бы направить в нужную сторону.
Спасибо сказали:
d_n_k
Сообщения: 636
ОС: Gentoo GNU/Linux

Re: Написание клиента для какого-нибудь сайта

Сообщение d_n_k »

если сайт поддерживает какое-нибудь апи, то с ним можно и как с библиотектой работать, ты у него спрашиваешь - он реагирает.

либо ты реализуешь фукнциональность браузера и как-то влияешь из своего приложения на него из своего приложения.
те в брайзер грузится что-то на j-скрипте, а из твоего прилоджения в виртуальную машину j-скрипта ложатся какие-либо данные и ниточки за которые ты потом дергаешь.
примерчик: в браузер грузится страничка в картой от гуугла, а потом вызываются функции для прокручивания карты.
реализация будет зависить от использаемого движка браузера.
все сказанное есть имхо...
Спасибо сказали:
Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

Re: Написание клиента для какого-нибудь сайта

Сообщение Assuri »

d_n_k писал(а):
18.08.2008 19:36
если сайт поддерживает какое-нибудь апи, то с ним можно и как с библиотектой работать, ты у него спрашиваешь - он реагирает.

А каким образом я могу использовать это API? Ведь я как-то до API должен достать из своего приложения, но каким образом?
либо ты реализуешь фукнциональность браузера и как-то влияешь из своего приложения на него из своего приложения.
те в брайзер грузится что-то на j-скрипте, а из твоего прилоджения в виртуальную машину j-скрипта ложатся какие-либо данные и ниточки за которые ты потом дергаешь.

Я думаю, что можно немного проще: обрабатывать html код, переданный сервером браузеру, а совершать какие-либо действия с сайтом можно передавая в него ссылками (GET method) или методом POST.


Я обнаружил, что в Qt4 есть классы QHttp и QUrl, которые скорее всего могут дать то, что мне надо, хотя не уверен.
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Написание клиента для какого-нибудь сайта

Сообщение diesel »

-DooM- писал(а):
18.08.2008 19:50
d_n_k писал(а):
18.08.2008 19:36
если сайт поддерживает какое-нибудь апи, то с ним можно и как с библиотектой работать, ты у него спрашиваешь - он реагирает.

А каким образом я могу использовать это API? Ведь я как-то до API должен достать из своего приложения, но каким образом?

как правило это описано в описании API. В качестве неплохого примера можешь посмотреть на API который дает Google для своих апликейшинов: http://code.google.com

-DooM- писал(а):
18.08.2008 19:50
Я обнаружил, что в Qt4 есть классы QHttp и QUrl, которые скорее всего могут дать то, что мне надо, хотя не уверен.

тут все зависит от того что ты хочешь сделать. если например залогинится на не очень сложный сайт и пройтись по его ссылкам, вытаскивая нужные тебе данные - то вполне можно QHttp это сделать(насколько я помню описание этого класса). Правда, как по мне, использование С++/Qt в этом деле несколько избыточно, и проще скриптовыми языками пользоваться. Для perl'а например есть хорошо развитая библиотека LWP::*, думаю для питона тоже что-то похожее найдется.
Спасибо сказали:
Аватара пользователя
whirlwind
Сообщения: 67

Re: Написание клиента для какого-нибудь сайта

Сообщение whirlwind »

вспомнился типограф http://www.artlebedev.ru/tools/typograf/webservice/ Собственно там пример, как работать и их сайтом(сервисом). Вдруг у вас так же
Добро всегда побеждает зло. Мы победили, значит мы - добро.
Спасибо сказали:
grub
Сообщения: 128
ОС: Slackware 12.0

Re: Написание клиента для какого-нибудь сайта

Сообщение grub »

А зачем Си? Нет мне самому Си больше по душе. Но если надо быстро и универсально, то лучше использовать Perl. Научиться на нем писать (базовые понятия), надо потратить один вечер, а дальше двигаем на cpan.org и качаем необходимые модули. К слову они есть почти для всего... Например работа с сайтами это LWP - все делается быстро и красиво ))

Perl + HTTP + JavaScript - вот мой топик. Ответа я на него так и не получу по видимому, но исходные данные для написания "какого-нибудь" клиента есть...
Спасибо сказали: