Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выгрузка данных с сайта в excel - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выгрузка данных с сайта в excel (Макросы/Sub)
Выгрузка данных с сайта в excel
juk2000 Дата: Суббота, 05.11.2016, 22:11 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Помогите, никак не могу найти макрос с помощью которого можно будет вытащить таблицу с этого сайта, например самую верхнюю таблицу http://24score.com/footbal...., при нажатии одной кнопки в определённый диапазон
 
Ответить
СообщениеПомогите, никак не могу найти макрос с помощью которого можно будет вытащить таблицу с этого сайта, например самую верхнюю таблицу http://24score.com/footbal...., при нажатии одной кнопки в определённый диапазон

Автор - juk2000
Дата добавления - 05.11.2016 в 22:11
Pelena Дата: Суббота, 05.11.2016, 22:58 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9839
Репутация: 2252 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
juk2000, зачем разбросали свой вопрос по стольким чужим темам? Достаточно одной своей.
Удалила лишнее


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщениеjuk2000, зачем разбросали свой вопрос по стольким чужим темам? Достаточно одной своей.
Удалила лишнее

Автор - Pelena
Дата добавления - 05.11.2016 в 22:58
juk2000 Дата: Суббота, 05.11.2016, 23:08 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Я просто хотел, чтоб мне быстрей ответили, уже неделю мучаюсь, понимаю что макрос достаточно прост, но у меня нет знаний достаточных. Вы можете помочь?
 
Ответить
СообщениеЯ просто хотел, чтоб мне быстрей ответили, уже неделю мучаюсь, понимаю что макрос достаточно прост, но у меня нет знаний достаточных. Вы можете помочь?

Автор - juk2000
Дата добавления - 05.11.2016 в 23:08
KuklP Дата: Воскресенье, 06.11.2016, 09:29 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1994
Репутация: 435 ±
Замечаний: 0% ±



Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Воскресенье, 06.11.2016, 09:33
 
Ответить
СообщениеКросс(и там модера разозлил):
http://www.planetaexcel.ru/forum....te-html
Еще:
http://forum.msexcel.ru/index.php/topic,11546.0.html

Автор - KuklP
Дата добавления - 06.11.2016 в 09:29
Gustav Дата: Воскресенье, 06.11.2016, 23:02 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1211
Репутация: 484 ±
Замечаний: 0% ±

начинал с Excel 4.0...
понимаю что макрос достаточно прост

К сожалению, не всё так радужно, как хотелось бы. Но рассмотрим вопрос подробнее, чтобы понять это.

Задача получения данных с веб-страницы "за один клик" (одно нажатие кнопки, запускающей макрос Excel VBA) в общем случаем распадается на два этапа:
1. получение сырых (raw) данных (как правило, текстовых) в ячейки Excel;
2. парсинг (разбор) этих данных с учетом постоянных известных "якорей" (реперных точек) в тексте, определенных в ходе предварительного анализа.

Вторую часть, какой бы сложной она не была, обычно удается решить с помощью формул или макросов с интенсивной обработкой текста (часто с использованием "регулярок").

Для решения же первой части в Excel исторически существует механизм QueryTable, но в данном случае он бессилен, потому что не может правильно определить структуру веб-страницы - увы, с годами они усложняются. И далеко не весь текст, который мы видим на странице присутствует в HTML-коде страницы, который обычно доступен в браузерах по правой кнопке мыши: HTML-код может содержать (и содержит!) не сами данные в виде тегов <tr> и <td>, а редиректы на другие адреса и имена Java-скриптов, которые динамически генерируют видимые нами данные веб-страницы. Поэтому на самОй конечной странице мы можем видеть в турнирной таблице некоторый счёт 5:3, но в тексте веб-страницы, предоставляемом браузерами или распростаненными ActiveX-библиотеками (например, MSXML2.XMLHTTP) мы вполне можем и не найти текстового фрагмента "5:3".

Чтобы получить в свое распоряжение текст для последующего парсинга, содержащий явную строку "5:3", следует (ИМХО!):
* Либо вручную выделить весь контент текущей веб-страницы по Ctrl+A, скопировать его по Ctrl+C и вставить на лист Excel при помощи специальной вставки (извне!) как текст (и далее придётся щепетильно высчитывать пробелы в каждой строке).
* Либо (также вручную!) сохранить на локальный диск ПК веб-страницу "полностью" из подходящего для этого браузера: Google Chrome - для этого подходит (итоговый файл будет содержать нужные теги <tr> и <td>), IE - к сожалению, нет. И далее с помощью того же QueryTable можно загрузить этот файл в Excel.

В обоих случаях для первого этапа можно попробовать применить "автоматизацию" в виде сочетания AppActivate и SendKeys, но это всё без большой гарантии и устойчивости. Но ИМХО: если только это не критично по количеству операций (в час, в сутки, в неделю), я бы предпочел на первом этапе обработки (и на данном этапе своего личного развития!) всё же ручные операции.

С удовольствием выслушаю какое-либо иное конструктивное мнение на сей счет.


Мой tip box - яд 41001663842605
 
Ответить
Сообщение
понимаю что макрос достаточно прост

К сожалению, не всё так радужно, как хотелось бы. Но рассмотрим вопрос подробнее, чтобы понять это.

Задача получения данных с веб-страницы "за один клик" (одно нажатие кнопки, запускающей макрос Excel VBA) в общем случаем распадается на два этапа:
1. получение сырых (raw) данных (как правило, текстовых) в ячейки Excel;
2. парсинг (разбор) этих данных с учетом постоянных известных "якорей" (реперных точек) в тексте, определенных в ходе предварительного анализа.

Вторую часть, какой бы сложной она не была, обычно удается решить с помощью формул или макросов с интенсивной обработкой текста (часто с использованием "регулярок").

Для решения же первой части в Excel исторически существует механизм QueryTable, но в данном случае он бессилен, потому что не может правильно определить структуру веб-страницы - увы, с годами они усложняются. И далеко не весь текст, который мы видим на странице присутствует в HTML-коде страницы, который обычно доступен в браузерах по правой кнопке мыши: HTML-код может содержать (и содержит!) не сами данные в виде тегов <tr> и <td>, а редиректы на другие адреса и имена Java-скриптов, которые динамически генерируют видимые нами данные веб-страницы. Поэтому на самОй конечной странице мы можем видеть в турнирной таблице некоторый счёт 5:3, но в тексте веб-страницы, предоставляемом браузерами или распростаненными ActiveX-библиотеками (например, MSXML2.XMLHTTP) мы вполне можем и не найти текстового фрагмента "5:3".

Чтобы получить в свое распоряжение текст для последующего парсинга, содержащий явную строку "5:3", следует (ИМХО!):
* Либо вручную выделить весь контент текущей веб-страницы по Ctrl+A, скопировать его по Ctrl+C и вставить на лист Excel при помощи специальной вставки (извне!) как текст (и далее придётся щепетильно высчитывать пробелы в каждой строке).
* Либо (также вручную!) сохранить на локальный диск ПК веб-страницу "полностью" из подходящего для этого браузера: Google Chrome - для этого подходит (итоговый файл будет содержать нужные теги <tr> и <td>), IE - к сожалению, нет. И далее с помощью того же QueryTable можно загрузить этот файл в Excel.

В обоих случаях для первого этапа можно попробовать применить "автоматизацию" в виде сочетания AppActivate и SendKeys, но это всё без большой гарантии и устойчивости. Но ИМХО: если только это не критично по количеству операций (в час, в сутки, в неделю), я бы предпочел на первом этапе обработки (и на данном этапе своего личного развития!) всё же ручные операции.

С удовольствием выслушаю какое-либо иное конструктивное мнение на сей счет.

Автор - Gustav
Дата добавления - 06.11.2016 в 23:02
SLAVICK Дата: Понедельник, 07.11.2016, 16:40 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
можно попробовать применить "автоматизацию" в виде сочетания AppActivate и SendKeys, но это всё без большой гарантии и устойчивости
Можно и без AppActivate и SendKeys :D .

С удовольствием выслушаю какое-либо иное конструктивное мнение на сей счет.

Почитайте тут и тут . Там устанавливается драйвер и через него можно управлять Хромом Моззилой... :D .


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
можно попробовать применить "автоматизацию" в виде сочетания AppActivate и SendKeys, но это всё без большой гарантии и устойчивости
Можно и без AppActivate и SendKeys :D .

С удовольствием выслушаю какое-либо иное конструктивное мнение на сей счет.

Почитайте тут и тут . Там устанавливается драйвер и через него можно управлять Хромом Моззилой... :D .

Автор - SLAVICK
Дата добавления - 07.11.2016 в 16:40
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выгрузка данных с сайта в excel (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!