powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Прочесть содержимое WEB-страницы
19 сообщений из 19, страница 1 из 1
Прочесть содержимое WEB-страницы
    #39516688
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте все.
Как прочесть содержимое страницы методом GET
Для конкретной страницы нижеприведенный пример почему-то не работает.
Выдает ошибку -2146697208
Подскажите, что нужно изменить?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 
Public Sub F1()
Dim req As Object
'Set req = CreateObject("MSXML2.XMLHTTP")
Set req = New msxml2.XMLHTTP60
req.Open "GET", "https://www.olx.ua/obyavlenie/sdam-v-krivom-roge-1kom-na-173kv-IDuC1BV.html#dc13508123", False
req.Send
If Not req.Status = 200 Then Exit Sub

Dim L As Long
L = Len(req.responseText)
MsgBox Mid(req.responseText, 1, 1000)
Set req = Nothing
End Sub
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39516695
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаешь угадать текст ошибки и строку, на которой она возникает?
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39516697
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProПредлагаешь угадать текст ошибки и строку, на которой она возникает?


Может быть открыть новую ветку под названием "Угадай строку!": Я угадаю строчку с трех попыток...
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39516758
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iMrTidy,
Извините, виноват на 100%.
Ошибка возникает на инструкции
Код: vbnet
1.
req.send


При опции "true" в req.Open - ошибки нет но выполнение прекращается по req.Status=200.
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39516820
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня вообще возвращается 404, ошибки нет.
А в браузере ссылка открывается
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39516823
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь СПри опции "true" в req.OpenПри true этот код не годится, асинхронные запросы обрабатываются иначе
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39516866
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь С,

А у Вас библиотека Microsoft XML подключена?

Впрочем, у меня тоже 404. Пробовал менять header, но не помогло:
Код: vbnet
1.
2.
'req.setRequestHeader "User-Agent", "Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1)"
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39516944
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidyВпрочем, у меня тоже 404.Сайт, похоже, пытается защититься от ботов.
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39516964
`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
`
Гость
Игорь С,

парси Экселем
Сдам в Кривом Роге, 1ком. на "173кв."Кривой Рог, Днепропетровская область, Саксаганский Добавлено: в 01:55, 6 сентября 2017, Номер объявления: 452352740 Рекламировать объявление Поднять в верх списка Объявление отБизнес Тип арендыДолгосрочная аренда квартир Количество комнат1ТипПанельный Сдам на долгий срок 1ком., на 173 кв.("Пушинка"). Квартира с свежим ремонтом, в квартире есть стиралка, бойлер, большой раскладной диван, шкафы, стулья, на кухне мягкий уголок. 2000грн. в месяц + комуналка, предоплата за 2 месяца.
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39517261
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уажаемый Гость`,
Можно отпарсить чем угодно текст страницы (например urldownloadtofie, а потом VBA разбираем все, что надо). Но нужно дойти до контактной информации (номер тел.) и извлечь её. А это все следует делать лишь запросами имитирующими запросы браузера.
Например, мне дали ответ на подобный вопрос на этом форуме
http://www.sql.ru/forum/1089588/izvlech-informaciu-iz-dinamicheskoy-web-stranicy
Но как раз в то время сайт (который я "парсирую") был перепродан и используемый алгоритм был заменен простейшим, с читаемым номером тел. прямо из кода страницы. Однако некоторое время назад снова закрыли, но по-другому.
Кто может посоветуйте как извлечь контактную информацию.
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39517362
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь С,

Рискну предположить, что сайт использует скрипт при загрузке, который подгружает реальную страницу, а если скрипт не выполняется, то 404. Да, и номер телефона получить без выполнения скрипта не выйдет.
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39517413
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidyРискну предположить, что сайт использует скрипт при загрузке, который подгружает реальную страницуа чего рисковать-то? смотришь отладчиком в браузере и видишь, что первая страница грузится со статусом 200 и содержит необходимые данные. Так что надо с хедерами экспериментировать, видимо
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39518715
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Если можно, подробнее об использовании хедеров. Я новичок в этой области.
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39518730
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39524453
Фотография Nik_Kurta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim req As Object
Set req = New XMLHTTP
req.Open "GET", " http://www.warehous.ru", False
req.Send
If Not req.Status = 200 Then Exit Sub
Dim L As Long
L = Len(req.responseText)
MsgBox Mid(req.responseText, 1, 1000)
Set req = Nothing
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39524457
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nik_Kurta, спасибо большое. И еще дополнительно - главный вопрос. Как с динамической страницы
Код: vbnet
1.
req.Open "GET", "https://www.olx.ua/obyavlenie/sdam-v-krivom-roge-1kom-na-173kv-IDuC1BV.html#dc13508123", False


извлечь номер телефона, появляющийся там по щелчку на элементе с надписью "показать"?
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39524778
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь С,

Тут надо понять - номер телефона уже есть на странице и просто скрыт стилем, или же по клику на педаль "показать" идет асинхронный запрос, который возвращает номер телефона.
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39524862
Игорь С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Номера телефона нет (он не скрыт). Нужно делать повторный запрос. Может прийти текст номера телефона. Может прийти ссылка на "картинку", в которой записан телефон.
...
Рейтинг: 0 / 0
Прочесть содержимое WEB-страницы
    #39525216
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь С,

Тогда распарсить страницу, найти ссылку и выполнить req.Open с найденной ссылкой.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Прочесть содержимое WEB-страницы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]