Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как можно получить текст с web-страницы ? Не HTML-контент, а именно текст. 
:(
    Опции темы
svch
Дата 17.3.2008, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Уважаемые гуру ?
Не обделите вниманием smile Очень нужно решить вопрос.

Буду ОЧЕНЬ признателен.
PM MAIL   Вверх
svch
Дата 18.3.2008, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ну в общем пришлось сделать отдельных два exe-шника и из одного запускать другой. Иначе память съедается.
PM MAIL   Вверх
Kaktusjara
Дата 11.8.2009, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



старая тема, сори что поднимаю, но ради этого только зарегался.
насчет пустого msgbox, вместо содержимого страницы:

Короче мой способ прост до безобразия. В самом начале, например при форм.лоад открываем в браузере about:blank, после чего уже вызываем нужную нам страницу.
Когда вы только вызвали страницу сразу запрашивать код или содержимое бесполезно - страница не успевает загрузиться. Но раз мы загрузили бланк (чистая страница), то после вызова интересующей нас странички перед выводом msgbox'а проверить, чтобы WebBrowser1.Document.body.innerText <> "", и проверку зациклить, пока не получим содержимое страницы. 

Надеюсь кому-то это поможет.
PM MAIL   Вверх
DrBoom
Дата 11.8.2009, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


QIP VB-SDK Developer
*


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

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



Цитата(Kaktusjara @  11.8.2009,  10:20 Найти цитируемый пост)
после вызова интересующей нас странички перед выводом msgbox'а проверить, чтобы WebBrowser1.Document.body.innerText <> "", и проверку зациклить, пока не получим содержимое страницы. 

Страшный уж способ, ИМХО. DocumentComplete-событие чем не угодило?
PM MAIL ICQ Jabber   Вверх
fduck
Дата 14.8.2009, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Читал тему,тк у меня подобный вопрос.
Сделал как описывалось выше! Получилось только вывести ВЕСЬ текст в text,а как вывести отдельный текст в text?
Например,IP,на 2ip.ru.
Как быть?
 smile 
PM MAIL   Вверх
DrBoom
Дата 16.8.2009, 19:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


QIP VB-SDK Developer
*


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

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



Цитата(fduck @  14.8.2009,  13:19 Найти цитируемый пост)
а как вывести отдельный текст в text?

Для этого нужно понимать, что вы хотите загружать и где это находится. А для этого Вам нужно понять объектную модель DOM в HTMLе. Привожу несколько примеров, а нужный выбирайте сами.

1. Если известно ID текстового поля:
Код

<input type="text" id="TextBox1" />

То получаем значения из него так:
Код

TextBoxAtForm.Text = SomeWebBrowserAtForm.document.getElementById("TextBox1").value


2. Если известно Name текстового поля:
Код

<input type="text" name="TextBox2" />

То получаем значения из него так:
Код

TextBoxAtForm.Text = SomeWebBrowserAtForm.document.getElementByName("TextBox2").value


3. Если известно Name текстового поля и ID формы:
Код

<form action="" id="Form1"><input type="text" name="TextBox3" /></form>

То получаем значения из него так:
Код

TextBoxAtForm.Text = SomeWebBrowserAtForm.document.getElementByName("Form1").TextBox3.value

ЗЫ. Если неизвестен ID формы, то можно получить её из коллекции forms для объекта document. 

4. Текстовое поле можно тж. найти в коллекции all для объекта document.
5. Другими элементами также можно манипулировать, например, с помощью свойств innerHTML,  innerTEXT, outerHTML.

Чтобы было понятнее, попробуйте загрузить какую-нибудь страницу и запустить код, а после поэкспериментировать с ним:
Код

On Error Resume Next

 Dim Tag as Variant

For Each Tag In SomeWebBrowserAtForm.document.all
 MsgBox Tag.innerHTML
Next



Это сообщение отредактировал(а) DrBoom - 16.8.2009, 19:11
PM MAIL ICQ Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


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

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


 




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


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

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