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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир 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
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

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


"Черт возьми, Холмс! Но как??!!"
Ю-money 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
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
понимаю что макрос достаточно прост

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

Задача получения данных с веб-страницы "за один клик" (одно нажатие кнопки, запускающей макрос 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
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

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

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

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


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

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

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

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

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