0 / 0 / 0
Регистрация: 02.02.2015
Сообщений: 2
1

Загрузка данных с html страницы, которая загружается не моментально

02.02.2015, 19:43. Показов 2121. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Предмет вопроса такой: требуется получить html-код страницы, чтобы в дальнейшем выдернуть из него необходимые мне данные. Но проблема в том, что сайт возвращает данные не сразу, а после довольно продолжительного времени (1-2 секунды). Сразу же он возвращает окошечко с надписью "ожидайте". В общем формулировки - это не мой конек, поэтому вот сам сайт, чтобы было понятно какого рода ожидание мы встречаем в качестве ответа сайта - http://stats.nba.com/league/pl... tNGames=15

Пробую скачать содержимое такое страницы (мне нужны таблички на этой странице с цифрами и буквами) довольно стандартным методом, но мне возвращается пустой символ вместо html-кода.

Вот код моей программы:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub GetInstagramStat()
    Dim sURL, html As String
    Dim oXMLHTTP As Object
    
    sURL = "http://stats.nba.com/league/player/#!/?LastNGames=15"
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
    With oXMLHTTP
        .Open "GET", sURL, False
        .send
        If .Status = 200 Then
            html = .responseText
            Debug.Print html
        End If
    End With
    Set oXMLHTTP = Nothing
End Sub
Если есть идеи, как заставить всё это работать в моём случае, подскажите, пожалуйста. Буду очень признателен.

P.S. на всякий случай уточню, на сайте, с которого пытаюсь стянуть информацию, есть скрипты, которые видимо выполняются какое-то время перед тем как дать результат в виде таблиц, а XMLHTTP видимо получает ответ сразу как только страница ответила нам статусом "4". Есть ли способы получить ответ с задержкой относительно статуса "4", полученного от страницы.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2015, 19:43
Ответы с готовыми решениями:

Загрузка html-страницы
Возможно в c# скачать html страницу, без использования запроса, создания файла и вставки в него...

Загрузка html страницы в делфи
Люди, есть страничка созданная в блокноте index.html, как мне отобразить ее в делфи. Пыталась...

Загрузка картинки из html страницы.
Подскажите как можно загрузить картинку не из фаила а из самого html. И возможно ли это?

Загрузка данных из другой страницы без перезагрузки основной страницы
Не знаю в правильной ли ветке я задаю вопрос. Ответьте пожалуйста как сделать чтобы при нажатии,...

2
12 / 12 / 2
Регистрация: 30.10.2013
Сообщений: 46
03.02.2015, 00:52 2
Лучший ответ Сообщение было отмечено GrandDuke как решение

Решение

В вашей ситуации поможет следующая функция:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'---------------------------------------------------------------------------------------
' Procedure : getHtmlIE
' Author    : Fjedor/Farad@CyberForum/VsePro100@PE
' Date      : 03.02.2015
' Purpose   : a workaround to get an HTML from some ScriptIntensive sites
' Misc      : no warranties provided, feel free to use this script if properly attributed
'---------------------------------------------------------------------------------------
'
Function getHtmlIE(URL As String) As String
    Dim IE As Object
    Set IE = CreateObject("InternetExplorer.Application")
    
    With IE
        .Visible = False
        .Navigate URL
        Do: DoEvents: Loop Until .readyState = 4
    End With
    
    getHtmlIE = IE.Document.body.innerHTML
    
    IE.Quit
    Set IE = Nothing
End Function
1
0 / 0 / 0
Регистрация: 02.02.2015
Сообщений: 2
03.02.2015, 03:06  [ТС] 3
Farad, большое спасибо, вроде работает.

Правда, конечно, такой способ гораздо медленнее оригинального, потому что видимо задействует IE, но зато работает. Код, полученный при помощи вашего скрипта совпадает с DOM-кодом страницы (т.е. в её в конечном представлении для пользователя), а это как раз то, что мне было нужно.

Еще раз спасибо.
0
03.02.2015, 03:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2015, 03:06
Помогаю со студенческими работами здесь

загрузка определенной части html страницы?
Всем привет, есть таблица чемпионата по футболу на спортивном портале, вокруг этой таблицы баннеры,...

Загрузка HTML-страницы с выполнением скриптов
Помогите, пжлста, реализовать следующую задачу. Нужно загрузить страницы сайтов, выполнить скрипты...

Загрузка HTML страницы в элемент <WebBrowser> WPF
Доброго времени суток. Возникла необходимость загрузить HTML страницу в приложение: &lt;Window...

Загрузка html кода страницы результата поиска в google.com
Здравствуйте! Стоит задача: спарсить со страницы (например...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru