Официальный сайт студ.городка НГТУ
Программирование и БД » [с++]Как содрать текстовую информацию с сайта? 

#1  24.03.10 14:44

[с++]Как содрать текстовую информацию с сайта?

есть visual studio 2005,есть какой-нибудь простенький сайт и немного мозга) С сайта нужно "содрать"  текстовую инфу. Скажите, пожалуйста, как это сделать? Или намекните,в каком направлении шагать)

Offline

#2  24.03.10 15:15

$up
Профиль

Re: [с++]Как содрать текстовую информацию с сайта?

zigma, скачиваешь страничку, парсишь html и получаешь то что нужно.
Скачивать можно используя WebControl http://www.codeproject.com/KB/miscctrl/ … ormfc.aspx
Либо какие-нибудь библиотеки, типа qt

Offline

#3  24.03.10 21:17

Re: [с++]Как содрать текстовую информацию с сайта?

Как-то так:

Код::

	// В inetExplorer - указатель на интерфейс IWebBrowser2 запущенного браузера, в котором открыта нужная страница

	IDispatch *iDocDisp;
	IHTMLDocument3 *iDoc3;
	IHTMLElement *iDocElem;
	BSTR text;

	inetExplorer->get_Document(&iDocDisp);
	iDocDisp->QueryInterface(IID_IHTMLDocument3, (void **) &iDoc3);
	iDoc3->get_documentElement(&iDocElem);
	iDocElem->get_innerText(&text);

Не забываем проверять возвращаемые QueryInterface и другими функциями значения и освобождать интерфейсы.

Offline

#4  25.03.10 10:30

$up
Профиль

Re: [с++]Как содрать текстовую информацию с сайта?

Draloskop написал(а):

Не забываем проверять возвращаемые QueryInterface

по QueryInterface сразу понимаешь, что человек не знаком с COM, нужно просто сделать импорт mshtml.tlb и не мучится.

Offline

#5  01.04.10 11:13

Maq
Профиль

Re: [с++]Как содрать текстовую информацию с сайта?

InternetReadFile

Offline

#6  01.04.10 22:37

Re: [с++]Как содрать текстовую информацию с сайта?

Draloskop написал(а):

// В inetExplorer - указатель на интерфейс IWebBrowser2 запущенного браузера, в котором открыта нужная страница

а вот если она не открыта в браузере?

$up написал(а):

нужно просто сделать импорт mshtml.tlb и не мучится.

а можно тут чуточку подробней?

Maq написал(а):

InternetReadFile

погуглил,принял к сведению,спасибо

Offline

#7  01.04.10 23:08

Re: [с++]Как содрать текстовую информацию с сайта?

Для начала скажи точнее что тебе нужно.
Если ты хочешь получить содержимое страницы целиком, вместе с тэгами и прочим - то используй то, что предлагает Maq. Если же тебе нужно именно текстовое содержимое страницы, расскажу как открыть в браузере что-то.

Offline

#8  02.04.10 08:53

$up
Профиль

Re: [с++]Как содрать текстовую информацию с сайта?

zigma написал(а):

а можно тут чуточку подробней?

#import <mshtml.tlb>
сгенерирует обертки для com интерфейсов. Будешь работать с документом через них

zigma написал(а):

а вот если она не открыта в браузере?

Браузер это компонент системы, ты сам из программы откроешь в нём нужную страницу и получишь документ. Окна браузера на экране не будет, если ты про это думаешь.

Можно и с InternetReadFile работать, но тебе нужно будет самому определить кодировку, и самому отделять нужный текст от html тегов

Offline

#9  02.04.10 13:24

Re: [с++]Как содрать текстовую информацию с сайта?

$up написал(а):

самому определить кодировку, и самому отделять нужный текст от html тегов

не проблема)
всем спасибо :)

Исправлено zigma (02.04.10 13:24)

Offline

#10  02.04.10 13:38

$up
Профиль

Re: [с++]Как содрать текстовую информацию с сайта?

zigma, тогда тебе проще использовать MFC класс CInternetSession

Offline

#11  02.04.10 13:56

Re: [с++]Как содрать текстовую информацию с сайта?

$up, заметано

Offline

Программирование и БД » [с++]Как содрать текстовую информацию с сайта? 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.029 сек.
Выполнено 14 запросов.