Как получить HTML-страницу в переменную?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Citius
Обычный пользователь
Обычный пользователь
 
Сообщения: 74
Зарегистрирован: 09.11.2005 (Ср) 9:36
Откуда: Украина

Как получить HTML-страницу в переменную?

Сообщение Citius » 19.08.2007 (Вс) 21:22

Прошу не винить строго! Возможно такой материал и есть, просто я его не нашел. (Поиском я занимался!)

У меня была такая ситуация. Надо было получить результаты страниц поисковых систем, и передать страницу (а вернее её HTML-исходный код) в переменную. Я использовал компонент inet, метод OpenURL. С Yandex все проходило гладко вся страничка с резултатами поиска успешно попадала в переменную, для дальнейшего анализа, но вот только дело коснулось Google появилась проблема, Google пишет что не может принять моего клиента, типа воспользуйтесь FireFox, Opera или IE. Т.е. страница то поступает в переменную, но только не с результатами поиска, а с ошибкой о подключении, т.е. inet компонент не подходит как клиент.

А вопрос следующий как можно также просто (код в одну строчку :)) получить данные с сайта Google?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.08.2007 (Вс) 21:27

Качалка в Кирпичах.
Изображение

Citius
Обычный пользователь
Обычный пользователь
 
Сообщения: 74
Зарегистрирован: 09.11.2005 (Ср) 9:36
Откуда: Украина

Сообщение Citius » 19.08.2007 (Вс) 21:30

tyomitch писал(а):Качалка в Кирпичах.


Так так, меня наверное неправильно поняли, как можно присвоить всю страницу как значение для переменной прямо на лету, как с inet. Разве качалка не скачивает сначала файл на компьютер?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.08.2007 (Вс) 21:41

Там есть демо-пример. Запусти и убедись.
Изображение

Citius
Обычный пользователь
Обычный пользователь
 
Сообщения: 74
Зарегистрирован: 09.11.2005 (Ср) 9:36
Откуда: Украина

Сообщение Citius » 19.08.2007 (Вс) 21:57

Спасибо буду пробовать :)

dedmakar
Обычный пользователь
Обычный пользователь
 
Сообщения: 71
Зарегистрирован: 08.02.2007 (Чт) 21:16

Сообщение dedmakar » 21.08.2007 (Вт) 14:06


Citius
Обычный пользователь
Обычный пользователь
 
Сообщения: 74
Зарегистрирован: 09.11.2005 (Ср) 9:36
Откуда: Украина

Сообщение Citius » 21.08.2007 (Вт) 16:47

Такс интересно. Все вроде бы ничего пример посмотрел, остался доволен :). Пока не добавил Kachalku к своему проекту. Мне нужен метод DownloadPush но мне в ответ на это выдается ошибка "Expected function or variable" :shock: что делать не знаю код снизу :(
Код: Выделить всё
Dim WithEvents Kach As clsKachalka

Private sub Form_Load()
Set Kach = New clsKachalka
End sub

Private Sub But_click()
InText = Kach.DownloadPush(URLS)
End Sub

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.08.2007 (Вт) 19:07

Что такое InText?
И что такое URLS?
Изображение

Citius
Обычный пользователь
Обычный пользователь
 
Сообщения: 74
Зарегистрирован: 09.11.2005 (Ср) 9:36
Откуда: Украина

Сообщение Citius » 21.08.2007 (Вт) 19:13

tyomitch
InText - переменная.
URLS - переменная содержащая адресную строку (ну к примеру http://www.yandex.ru)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.08.2007 (Вт) 19:17

Покажи код целиком.
В том куске, что приведён выше, этих переменных нет.
Изображение

Citius
Обычный пользователь
Обычный пользователь
 
Сообщения: 74
Зарегистрирован: 09.11.2005 (Ср) 9:36
Откуда: Украина

Сообщение Citius » 21.08.2007 (Вт) 19:47

Код: Выделить всё
Dim WithEvents Kach As clsKachalka
Dim InText as String
Dim URLS as String
Dim Strt as Integer

InText = ""
URLS = "http://www.google.com/" & CStr(Strt)

Private sub Form_Load()
Set Kach = New clsKachalka
End sub

Private Sub But_click()
InText = Kach.DownloadPush(URLS)
End Sub

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.08.2007 (Вт) 20:07

А, ну дык DownloadPush не возвращает значения. Замени её на DownloadToString.
Изображение

Citius
Обычный пользователь
Обычный пользователь
 
Сообщения: 74
Зарегистрирован: 09.11.2005 (Ср) 9:36
Откуда: Украина

Сообщение Citius » 21.08.2007 (Вт) 20:23

Все все я уже разобрался с этим, ой блин тьфу вот умора, так затупить :lol:

Фууув, такс и следующая проблемка, как заставить этот чудо класс понимать кириллицу? Он мне кракозябры выдает, прям запрос обрабатывает не правильно, соответственно и результаты поиска не те и вообще все не то (я про Google)

И ещё, у меня на форме есть кнопочка "выход" из цикла поиска позиций, так вот при использование качалки я не могу на неё нажать :( и вообще ни на что нажать не могу. Оно что типа поток блокирует?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.08.2007 (Вт) 21:07

Типа пример дочитай, а :-|
Изображение

Citius
Обычный пользователь
Обычный пользователь
 
Сообщения: 74
Зарегистрирован: 09.11.2005 (Ср) 9:36
Откуда: Украина

Сообщение Citius » 21.08.2007 (Вт) 21:21

tyomitch
Ну с выходом разобрался, а как насчет кодировки? Как её то задать?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.08.2007 (Вт) 21:38

Покажи свои урлы.
Изображение

Citius
Обычный пользователь
Обычный пользователь
 
Сообщения: 74
Зарегистрирован: 09.11.2005 (Ср) 9:36
Откуда: Украина

Сообщение Citius » 22.08.2007 (Ср) 19:30

tyomitch писал(а):Покажи свои урлы.


Ну к примеру вот такой:
http://www.google.com/search?q=HelloWorld&start=20

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.08.2007 (Ср) 19:32

Я не вижу в нём кириллицы.
Изображение

Citius
Обычный пользователь
Обычный пользователь
 
Сообщения: 74
Зарегистрирован: 09.11.2005 (Ср) 9:36
Откуда: Украина

Сообщение Citius » 24.08.2007 (Пт) 13:12

tyomitch
Блин! Хорошо допустим поисковый запрос "Привет", через качалку в Гугле, выдаст мне примерно что-то в этом роде:

1. Слово "привет" - ïðèâåò
2. Обзац текста с поисковой страницы:
Знаком�тва, любовь, возможно �ек�.....
Ã�ðèâåò Äîðîãîé, ÌÎß ËÞÃ�ÎÂÜ ß âèäåë âà ø ïðîôèëü ñåãîäíÿ â ýòîì ó÷à ñòêå (dating.webpark.ru), è ÿ îñòà íîâèëñÿ, ÷òîáû áðîñèòü î÷åíü õîðîøèé âçãëÿä íÃ

Как я понял дело в кодировке. И вот теперь, как поменять кодировку? А то сами понимаете что слово "Привет" я не найду никак при таком раскладе.
Вложения
Example.zip
Вот, пример поисковой странички, которую мне выдал Google по запросу "Привет", через Kachalkу. Это то что попадает в мою переменную :(
(7.09 Кб) Скачиваний: 63

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.08.2007 (Пт) 13:25

Ну так это UTF-8.
Там так в заголовке и написано.
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.08.2007 (Пт) 14:14

Прикол в тему: http://intepid.com/2005-05-30/22.45
Изображение

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 25.08.2007 (Сб) 0:21

tyomitch
Дозу проверил?


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

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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 97

    TopList