Страницы: 1
RSS
Получение данных с интернет страницы(HTML)
 
Нужно получить данные с веб страницы макросом, полностью HTML формат. Есть ли способ сделать  быстрее,чем это делает встроенный в Excel веб-запрос ?  Важна только скорость выполнения запроса.

Код
 Sub () 
With ActiveSheet.QueryTables.Add(Connection:="URL;http://www.yandex.ru", _
     Destination:=Range("$A$1"    )
     .Name = "www.yandex.ru"
     .FieldNames = True
     .RowNumbers = False
     .FillAdjacentFormulas = False
     .PreserveFormatting = False
     .RefreshOnFileOpen = False
     .BackgroundQuery = True
     .RefreshStyle = xlInsertDeleteCells
     .SavePassword = False
     .SaveData = True
     .AdjustColumnWidth = True
     .RefreshPeriod = 0
     .WebSelectionType = xlEntirePage
     .WebFormatting = xlWebFormattingAll
     .WebPreFormattedTextToColumns = True
     .WebConsecutiveDelimitersAsOne = True
     .WebSingleBlockTextImport = False
     .WebDisableDateRecognition = False
     .WebDisableRedirections = False
     .Refresh BackgroundQuery:=False
    End With
End Sub
Изменено: Ball_bes - 24.10.2014 00:37:13
 
Код следует оформлять тегом. Ищете такую вот кнопочку:
 
Попробую немножко по-другому сформулировать.
Есть динамически изменяющийся адрес интернет страницы.Сначала открывается одна страница (макросом,который написан выше), с неё копируются нужные данные и запрос удаляется(страница стирается), затем в макрос подставляется другой адрес и открывается другая страница  и.т.д. И так более 10000 раз. Макрос у меня иногда выполняется около 2х часов. Можно ли как-то по другому составить веб-запрос,чтобы сократилось время выполнения макроса.
 
Для 10000 раз не думаю, что можно как-то значительно это сократить. Львиная доля времени явно уходит на получение ответа от сайта.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Ну это смотря что понимать по словом "значительно". Если время выполнения сократится хотя бы на четверть,для меня это уже будет значительно.
 
На четверть, - можно попробовать сократить, но не больше.
Если за 2 часа 10 тыс запросов обрабатываются, - это по 0,7 сек на одну страницу, - ОЧЕНЬ хороший результат для встроенного в Excel тормозного веб-запроса.

Если переделывать, — код станет заметно сложнее, очень много работы (наверняка придется отказаться от веб-запросов)
Я бы на вашем месте не стал что-то делать, если имеющийся сейчас макрос работает стабильно.

Ну и надо смотреть пример результата, код, и реальный сайт, — иначе сложно дать гарантию, что получится ускорить
Страницы: 1
Читают тему
Наверх