HELP... Проблема со скачиванием из InterNet

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

HELP... Проблема со скачиванием из InterNet

Сообщение cashman » 20.10.2004 (Ср) 2:21

Подскажите не могу понять в чем дело...
У меня комп подключен к InterNet как через выделенку, так и через модем...
В задачи моей проги входит: скачивание информации с указанной страницы и запись в файл(*.txt), НО... (на примере www.yandex.ru)
1)Если подключена только ВЫДЕЛЕНКА - прога скачивает только все верхние ссылки, кнопки... а нужную информацию (которую нашел Яндекс) не отображает. В общем - НЕ ВСЕ...
2)Если выделенка отключена, а связь только через МОДЕМ - скачивает ВСЕ (как вобщем-то мне и надо) от <HTML> до </HTML> (вместе с Яндексовскими кнопками, ссылками - хотя хотелось бы знать код Для скачивания только ПОЛЕЗНОЙ информации, которую Яндекс нашел)...

Использую код...
Text1.Text = Inet1.OpenURL("http://www.yandex.ru/yandsearch?stype=www&nl=0&text=%CF%C0%D0%C0%C1%CE%CB%C8%D7%C5%D1%CA%C8%C9")
Open App.Path + "\vremen.txt" For Output As #1
Print #1, Text1.Text
Close #1

P.S. для примера скачал сайт Яндекса с поиском слова "ПАРАБОЛИЧЕСКИЙ"...
Приложил файлы скаченные 1м и 2м способом...

Помогите разобраться... а то я в тупике...
Вложения
vremen.rar
(8.96 Кб) Скачиваний: 29

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.10.2004 (Ср) 10:45

А ты в курсе, что Яндексу очень не нравится, когда кто-то использует морфологический или поисковой движок без разрешения? Они таких нарушителей обычно банят.
Lasciate ogni speranza, voi ch'entrate.

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 20.10.2004 (Ср) 11:23

alibek писал(а):А ты в курсе, что Яндексу очень не нравится, когда кто-то использует морфологический или поисковой движок без разрешения? Они таких нарушителей обычно банят.


Нарушителей?.. у них это где-то прописано?..
Но Яндекс я привел как пример, у меня с другими страницами такая же лажа... т.е. проблема не с Яндексом...
что-то в проге не предусмотренно для выделенки (я полагаю)...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.10.2004 (Ср) 12:02

Прочти внимательнее, все написано.
Что касается твоего примера -- сказать трудно. Скорее всего ты не дожидаешьшся окончания загрузки страницы. Поищи в форуме по слову GetInetCBRRates (например), там будет пример доступа к информации в Internet без дополнительных контролов.
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение tyomitch » 21.10.2004 (Чт) 14:08

alibek писал(а):А ты в курсе, что Яндексу очень не нравится, когда кто-то использует морфологический или поисковой движок без разрешения? Они таких нарушителей обычно банят.

Афаик всё как раз наоборот - они приветствуют такое использование своего ресурса. См. также http://xml.yandex.ru/

Это относится также и к пожеланию
cashman писал(а):хотелось бы знать код Для скачивания только ПОЛЕЗНОЙ информации, которую Яндекс нашел
Изображение

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 21.10.2004 (Чт) 18:10

tyomitch, дак ты знаешь в чем проблема...
почему у меня по выделенке не скачивает всю страницу?..
и как это решить?..

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

Сообщение tyomitch » 21.10.2004 (Чт) 18:40

У меня тоже скачивает не всю :-)
В чём дело - сходу даже не знаю, а разбираться сейчас времени нет.

Но решительно перенаправляю тебя в сторону http://xml.yandex.ru/examples.xml
Там есть примеры кода для использования движка Яндекса для собственных поисков.
Изображение

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 21.10.2004 (Чт) 23:57

tyomitch писал(а):У меня тоже скачивает не всю :-)
В чём дело - сходу даже не знаю, а разбираться сейчас времени нет.

Но решительно перенаправляю тебя в сторону http://xml.yandex.ru/examples.xml
Там есть примеры кода для использования движка Яндекса для собственных поисков.


Почему-то все сделали АКЦЕНТ на Яндексе - а это был только пример... Моя программа не поисковик - она просто скачивает УЖЕ заданую страницу (ЛЮБУЮ)...
Подсказка от сильных мира сего просто необходима - я в тупике...
Это точно связано с выделенкой (если скачивать по ней РЕЗУЛЬТАТ получается не весь)...
Допускаю, что Inet1...(объект) конфликтует с выделенкой... но изменяя его - я ничего не добился...
Возможно - это Text1.text гонит через него я скачал данные vremen1.txt - через модем, vremen2.txt - выделенка (просто vremen.txt - выделенка, но использовался RichTextBox) - все примеры во вложенном файле...
Сейчас информация ИМЕННО С ЭТОЙ СТРАНИЧКИ "http://bbs.vbstreets.ru/viewtopic.php?t=10464"
Т.Е. это не Яндекс, это что-то др. Прошу ПОМОЩИ!!!... SOS...
Вложения
new.rar
(8.6 Кб) Скачиваний: 29

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.10.2004 (Пт) 10:42

tyomitch, это уже что-то новое, раньше было нельзя. Но все-равно,
Лицензия проекта Яндекс.XML писал(а):Яндекс позволяет бесплатно делать до 200 XML-запросов в сутки (но не более 5000 запросов в месяц) для личного некоммерческого использования. Для задания большего количества запросов в сутки или коммерческого применения предусмотрено платное использование.

Яндекс позволяет делать XML-запросы на указанных выше условиях и в пределах указанного выше лимита также с целью создания публичного сервиса (в том числе поискового) при условии установки ссылки на Яндекс.XML (xml.yandex.ru) следующего вида: «Поиск реализован на основе Яндекс.XML», написанной шрифтом, не менее заметным, чем сами результаты. Если сайт использует бесплатные запросы к XML-поиску, ссылка должна быть расположена вверху на странице с результатами работы сервиса. Если сайт подписан на платное использование XML-поиска, ссылка может быть расположена внизу страницы.

Вы имеете право осуществлять автоматические запросы к Яндексу для получения результатов поиска с помощью XML-запроса после регистрации вашего IP-адреса. Делать автоматические запросы к Яндексу любым другим способом запрещено без предварительного согласия Яндекса.

Все программы (скрипты), которые приведены в данном проекте в исходных кодах в качестве примера, распространяются свободно и бесплатно при условии сохранения ссылки на Яндекс и проект Яндекс.XML. Вы можете неограниченно копировать, изменять или дополнять исходный текст программ или примеров XSL-кода, если ссылка на Яндекс и Яндекс.XML остается неизменной.

Пользуясь проектом Яндекс.XML или его частями, вы должны соблюдать требования лицензии Яндекса.


Кстати, есть подозрение, что использовать Яндекс.XML можно на сайтах, но не в прикладной программе пользователя.


cashman, попробуй для скачки такой код:
Код: Выделить всё
Dim inet As Object, URL As String
URL = "http://www.yandex.ru"
Const READYSTATE_UNINITIALIZED As Long = 0&
Const READYSTATE_LOADING As Long = 1&
Const READYSTATE_LOADED As Long = 2&
Const READYSTATE_INTERACTIVE As Long = 3&
Const READYSTATE_COMPLETE As Long = 4&
Set inet = CreateObject("InternetExplorer.Application")
inet.Navigate U
Do Until inet.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
MsgBox inet.Document.All.OuterHTML
inet.Quit
Set inet = Nothing
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение tyomitch » 22.10.2004 (Пт) 15:43

alibek писал(а):Кстати, есть подозрение, что использовать Яндекс.XML можно на сайтах, но не в прикладной программе пользователя.

"Меня терзают смутные сомненья..." (с) :-)
Разве там это где-то написано?
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.10.2004 (Пт) 15:55

"Куртка кожанная... две" :)
Во-первых, обязательное требование, чтобы ссылка на Яндекс.XML располагалась перед результатами запроса. А во-вторых, обязательная регистрация IP-адреса.
Т.е. прямого текста нет, но задуматься можно.
Lasciate ogni speranza, voi ch'entrate.

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 23.10.2004 (Сб) 2:06

alibek, твой код у меня не пошел:
inet.Navigate U - полагаю что U - это URL
НО все встает на строчке:
MsgBox inet.Document.All.OuterHTML
пишет: Run-time error '438'
Object doesn't support this property or metod

Откровенно говоря сам код мне не совсем понятен, НО может в начале необходимо обозначить некую Public Function...
Пожалуста проверь свой код...
P.S. я работаю в VB5

cashman
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 152
Зарегистрирован: 03.06.2004 (Чт) 0:57
Откуда: Россия, г.Екатеринбург

Сообщение cashman » 23.10.2004 (Сб) 23:10

Есть здесь хоть кто, кто ВЫДЕЛЕНКУ и VB совместить сможет?.. А?..

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 25.10.2004 (Пн) 12:26

Ну пофантазируй же чуть-чуть.

MsgBox inet.Document.HTML.OuterHTML

Подробное описание DOM-модели здесь.

Код полный и самодостаточный, можешь все это включить внутрь нужной функции или процедуры.
Краткое описание:
CreateObject - создает объект (инстанс) Internet Explorer.
inet.Navigate - перейти на указанный адрес
Do...Loop - ждать, пока страница не загрузится полностью.
inet.Document.All.OuterHTML - HTML-код загруженной страницы.
Lasciate ogni speranza, voi ch'entrate.


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList  
cron