#1 24.03.10 14:44
[с++]Как содрать текстовую информацию с сайта?
есть visual studio 2005,есть какой-нибудь простенький сайт и немного мозга) С сайта нужно "содрать" текстовую инфу. Скажите, пожалуйста, как это сделать? Или намекните,в каком направлении шагать)
Offline
#2 24.03.10 15:15
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
#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
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

