Можно ли загрузить данные Веб страницы в форму?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Inga
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 07.07.2009 (Вт) 22:52

Можно ли загрузить данные Веб страницы в форму?

Сообщение Inga » 19.09.2009 (Сб) 15:57

Добрый день!
У меня есть вопрос
Возможно ли данные HTML страницы отобразить на Форме VB без использования компонента WebBrowse
к примеру ести страница на которой находится счетчик посещиний, счетчик скачиваний или счетчик общего числа посещений не имеет значения. Так можно ли например данные с того счетчика загрузить в TextBox?
Кто знает подскажите пожалуйста как это сделать?

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение Williams » 19.09.2009 (Сб) 16:20

Например, получив нужный фрагмент страницы при помощи регулярных выражений. Как закачивать - у тебя свобода выбора.
И вы думаете, что вас оставят в живых после прочтения этого поста?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение iGrok » 19.09.2009 (Сб) 18:14

Поищи по WinHTTPRequest примеры использования.
label:
cli
jmp label

Inga
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 07.07.2009 (Вт) 22:52

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение Inga » 20.09.2009 (Вс) 7:52

Williams писал(а):Например, получив нужный фрагмент страницы при помощи регулярных выражений. Как закачивать - у тебя свобода выбора.


а если на компьютерах разное разрешение экранов

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение dr.MIG » 20.09.2009 (Вс) 10:14

Inga писал(а):
Williams писал(а):Например, получив нужный фрагмент страницы при помощи регулярных выражений. Как закачивать - у тебя свобода выбора.


а если на компьютерах разное разрешение экранов


В цитаты:). Получить нужный фрагмент страницы при помощи регулярных выражений после закачки страницы можно, собственно говоря, и на компьютере вообще без монитора.
Salus populi suprema lex

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение Williams » 20.09.2009 (Вс) 12:15

И правда :) Разрешение тут не при чем.
Р.В. лишь позволяют отыскать требуемый фрагмент (или фрагменты) в толще кода веб страницы.

Вот например простейшая страница:

Код: Выделить всё
<html>
<body>
The content of the body element is displayed in your browser.
</body>
</html>



тебе нужно получить ее тело. Для этого юзаешь вот такое выражение:

"<body>([\s\S]*)</body>"
И вы думаете, что вас оставят в живых после прочтения этого поста?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение iGrok » 20.09.2009 (Вс) 12:21

Inga писал(а):а если на компьютерах разное разрешение экранов

На всякий случай - под фрагментом имелось в виду не "кусок страницы 300 на 300 пикселей", а кусок HTML-кода страницы. )
label:
cli
jmp label

Inga
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 07.07.2009 (Вт) 22:52

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение Inga » 20.09.2009 (Вс) 18:29

Всем спасибо попробую как нибудь разобраться!
а вот еще забыла!
я никогда не работала с html
на страницах html бывают ComboBox ну вы видели выпадающий такой список.
так вот можно ли этот список из html загрузить на форму VB в ComboBox

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение arvitaly » 20.09.2009 (Вс) 18:55

Можно все тем же способом - парсить.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение iGrok » 20.09.2009 (Вс) 19:23

Обычно это что-то вроде
Код: Выделить всё
<select name="s1">
<option value="1">Вариант 1</option>
<option value="2">Вариант 2</option>
<option value="3">Вариант 3</option>
</select>

Соответственно, тебе нужно будет вытащить оттуда значения "Вариант 1".. и добавить в Combo...
label:
cli
jmp label

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение Debugger » 20.09.2009 (Вс) 19:29

Можно выдернуть RegExp'ом, как показали выше (сложностей нет).
Можно использовать Mid$+Instr (тут могут возникнуть сложности только при тугом мышлении).
Можно поискать по форуму и найти использование HTML-парсеров. Вроде, DOM называется.
Также, можно загружать в WebBrowser и, используя свойство document, получить внутренности тэга (при этом надо знать имя/ID/тип тэга).
В чем проблема-то? Готовый код надо?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение iGrok » 20.09.2009 (Вс) 21:09

Debugger писал(а):Можно поискать по форуму и найти использование HTML-парсеров. Вроде, DOM называется.
Также, можно загружать в WebBrowser и, используя свойство document, получить внутренности тэга (при этом надо знать имя/ID/тип тэга).

Второй вариант - это то же самое, что и первый вариант, только с использованием Webbrowser вместо обычного WinHTTPRequest, более уместного в данном случае..
И там и там подключается MSHTML, и дальше работа идёт через DOM...
label:
cli
jmp label

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение awl100Alex » 21.09.2009 (Пн) 1:32

Inga писал(а):на страницах html бывают ComboBox ну вы видели выпадающий такой список.так вот можно ли этот список из html загрузить на форму VB в ComboBox

Может немного и криво, но я бы используя WebBrowser сделал бы так...

Имеем такой Html код странички (http://mts.com.ua/ukr/sendsms.php#):

Код: Выделить всё
'<td height="30" valign="top">
'                <select name="network1" style="width:175px;">
'                    <option value="38050" >+38 050</option>
'                    <option value="38066" >+38 066</option>
'                    <option value="38095" >+38 095</option>
'                    <option value="38099" >+38 099</option>
'                </select>
'</td>


Вытягиваем значения полей перебором...
Код: Выделить всё
Memory = WebBrowser1.Document.Forms(1).elements("network1").Value
WebBrowser1.Document.Forms(1).elements("network1").Value = "38050"
Combo1.AddItem WebBrowser1.Document.Forms(1).elements("network1").Value
WebBrowser1.Document.Forms(1).elements("network1").Value = "38066"
Combo1.AddItem WebBrowser1.Document.Forms(1).elements("network1").Value
WebBrowser1.Document.Forms(1).elements("network1").Value = "38095"
Combo1.AddItem WebBrowser1.Document.Forms(1).elements("network1").Value
WebBrowser1.Document.Forms(1).elements("network1").Value = "38099"
Combo1.AddItem WebBrowser1.Document.Forms(1).elements("network1").Value
Combo1.Text = Memory
‘Возвращаем как было на странице...
WebBrowser1.Document.Forms(1).elements("network1").Value = Memory


Ну, может есть варианты и по лучше. :)

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение arvitaly » 21.09.2009 (Пн) 12:16

Может немного и криво, но я бы используя WebBrowser сделал бы так...


Не то, что немного, а полная чушь! :evil:

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение dr.MIG » 21.09.2009 (Пн) 14:42

awl100Alex писал(а):
Код: Выделить всё
'<td height="30" valign="top">
'                <select name="network1" style="width:175px;">
'                    <option value="38050" >+38 050</option>
'                    <option value="38066" >+38 066</option>
'                    <option value="38095" >+38 095</option>
'                    <option value="38099" >+38 099</option>
'                </select>
'</td>


Лучше так
Код: Выделить всё
Dim opt As HTMLOptionElement
For Each opt In WebBrowser1.document.getElementsByName("network1")(0).children
    MsgBox opt.innerText
Next
Salus populi suprema lex

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение awl100Alex » 21.09.2009 (Пн) 16:40

dr.MIG
Да, возможно, так лучше. :)

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение Debugger » 21.09.2009 (Пн) 16:41

awl100Alex писал(а):dr.MIG
Да, возможно, так лучше. :)

То же самое, просто без заполнения и циклом.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Можно ли загрузить данные Веб страницы в форму?

Сообщение dr.MIG » 21.09.2009 (Пн) 18:47

Если цель именно заполнить свой ComboBox, то WB, как уже сказал iGrok, не очень уместно использовать. Правильнее будет текст страницы получить, используя WinHTTPRequest, а WebBrowser1.Document из моего кода заменить на объект HTMLDocument.
Salus populi suprema lex


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 9

    TopList