В этом приеме описывается три способа получить данные, содержащиеся в веб-странице: вставить статическую копию информации; создать обновляемую ссылку на сайт; открыть страницу непосредственно в Excel.
Вставка статической информации
Один из способов получить данные из веб-страницы на лист — просто выделить текст в браузере, нажать Ctrl+C, чтобы скопировать его в буфер обмена, а затем вставить текст в таблицу. Результат может быть разным, в зависимости от того, какой браузер вы используете. Если это Internet Explorer, то вставленные данные будут, вероятно, очень похожи на оригинал — в комплекте с настройками форматирования, гиперссылками и графикой.
Если вы используете браузер, отличный от Internet Explorer, то, выбрав Главная ► Буфер обмена ► Вставить, можно вставить все, что вы скопировали с веб-страницы, в одну ячейку, а это, скорее всего, не то, чего вы хотите. Решение состоит в том, чтобы выбрать команду Главная ► Буфер обмена ► Вставить ► Специальная вставка, а затем пробовать различные варианты вставки.
Вставка обновляемой информации
Если вы хотите регулярно получать доступ к обновленным данным из веб-страницы, создайте веб-запрос. На рис. 176.1 показан сайт, который содержит курсы валют в таблице с тремя столбцами. Выполнив следующие шаги, можно создать веб-запрос, позволяющий извлекать эту информацию, а затем обновлять ее в любое время одним щелчком кнопкой мыши.
Рис. 176.1. Этот сайт содержит информацию, которая часто меняется
- Выберите Данные ► Получение внешних данных ► Из Интернета для открытия диалогового окна Создание веб-запроса.
- В поле Адрес введите URL сайта и нажмите кнопку Пуск. Для этого примера URL-адрес веб-страницы, показанной на рис. 176.1, будет таким: http://cbr.ru. Обратите внимание, что диалоговое окно Создание веб-запроса содержит мини-браузер (Internet Explorer). Вы можете переходить по ссылкам и посещать сайты, пока не найдете данные, которые вас заинтересуют. Когда веб-страница отображается в окне Создание веб-запроса, вы видите одну или несколько желтых стрелок, которые соответствуют различным элементам на веб-странице.
- Щелкните на желтой стрелке, и она превратится в зеленый флажок, который указывает, что данные этого элемента будут импортированы. Вы можете импортировать столько элементов, сколько нам нужно. Для этого
примера я щелкну на стрелке рядом с таблицей курсов. - Нажмите кнопку Импорт для открытия диалогового окна Импорт данных.
- В окне Импорт данных укажите место для импортированных данных. Это может быть ячейка в существующем или новом листе.
- Нажмите кнопку ОК, и Excel импортирует данные (рис. 176.2).
Рис. 176.2. Данные, импортированные из веб-страницы
По умолчанию импортированные данные — это веб-запрос. Чтобы обновить информацию, щелкните правой кнопкой мыши на любой ячейке импортированного диапазона и выберите в контекстном меню команду Обновить. Если вы не хотите создавать обновляемый запрос, укажите это в шаге 5 предыдущего списка действии. В окне Импорт данных нажмите кнопку Свойства и снимите флажок сохранить определение запроса.
Открытие веб-страницы напрямую
Еще один способ получить данные веб-страницы на лист — открыть URL-адрес напрямую, с помощью команды Файл ► Открыть. Просто введите полный URL-адрес в поле Имя файла и нажмите кнопку Открыть. Результат будет отличаться в зависимости от того, какая разметка у веб-страницы, но в большинстве случаев он вас удовлетворит. Иногда таким способом извлекается довольно много посторонней информации.
Парсинг нетабличных данных с сайтов
Проблема с нетабличными данными
С загрузкой в Excel табличных данных из интернета проблем нет. Надстройка Power Query в Excel легко позволяет реализовать эту задачу буквально за секунды. Достаточно выбрать на вкладке Данные команду Из интернета (Data — From internet), вставить адрес нужной веб-страницы (например, ключевых показателей ЦБ) и нажать ОК:
Power Query автоматически распознает все имеющиеся на веб-странице таблицы и выведет их список в окне Навигатора:
Дальше останется выбрать нужную таблицу методом тыка и загрузить её в Power Query для дальнейшей обработки (кнопка Преобразовать данные) или сразу на лист Excel (кнопка Загрузить).
Если с нужного вам сайта данные грузятся по вышеописанному сценарию — считайте, что вам повезло.
К сожалению, сплошь и рядом встречаются сайты, где при попытке такой загрузки Power Query «не видит» таблиц с нужными данными, т.е. в окне Навигатора попросту нет этих Table 0,1,2… или же среди них нет таблицы с нужной нам информацией. Причин для этого может быть несколько, но чаще всего это происходит потому, что веб-дизайнер при создании таблицы использовал в HTML-коде страницы не стандартную конструкцию с тегом <TABLE>, а её аналог — вложенные друг в друга теги-контейнеры <DIV>. Это весьма распространённая техника при вёрстке веб-сайтов, но, к сожалению, Power Query пока не умеет распознавать такую разметку и загружать такие данные в Excel.
Тем не менее, есть способ обойти это ограничение
В качестве тренировки, давайте попробуем загрузить цены и описания товаров с маркетплейса Wildberries — например, книг из раздела Детективы:
Загружаем HTML-код вместо веб-страницы
Сначала используем всё тот же подход — выбираем команду Из интернета на вкладке Данные (Data — From internet) и вводим адрес нужной нам страницы:
https://www.wildberries.ru/catalog/knigi/hudozhestvennaya-literatura/detektivy
После нажатия на ОК появится окно Навигатора, где мы уже не увидим никаких полезных таблиц, кроме непонятной Document:
Дальше начинается самое интересное. Жмём на кнопку Преобразовать данные (Transform Data), чтобы всё-таки загрузить содержимое таблицы Document в редактор запросов Power Query. В открывшемся окне удаляем шаг Навигация (Navigation) красным крестом:
… и затем щёлкаем по значку шестерёнки справа от шага Источник (Source), чтобы открыть его параметры:
В выпадающием списке Открыть файл как (Open file as) вместо выбранной там по-умолчанию HTML-страницы выбираем Текстовый файл (Text file). Это заставит Power Query интерпретировать загружаемые данные не как веб-страницу, а как простой текст, т.е. Power Query не будет пытаться распознавать HTML-теги и их атрибуты, ссылки, картинки, таблицы, а просто обработает исходный код страницы как текст.
После нажатия на ОК мы этот HTML-код как раз и увидим (он может быть весьма объемным — не пугайтесь):
Ищем за что зацепиться
Теперь нужно понять на какие теги, атрибуты или метки в коде мы можем ориентироваться, чтобы извлечь из этой кучи текста нужные нам данные о товарах. Само-собой, тут всё зависит от конкретного сайта и веб-программиста, который его писал и вам придётся уже импровизировать.
В случае с Wildberries, промотав этот код вниз до товаров, можно легко нащупать простую логику:
- Строчки с ценами всегда содержат метку lower-price
- Строчки с названием бренда — всегда с меткой brand-name c-text-sm
- Название товара можно найти по метке goods-name c-text-sm
Иногда процесс поиска можно существенно упростить, если воспользоваться инструментами отладки кода, которые сейчас есть в любом современном браузере. Щёлкнув правой кнопкой мыши по любому элементу веб-страницы (например, цене или описанию товара) можно выбрать из контекстного меню команду Инспектировать (Inspect) и затем просматривать код в удобном окошке непосредственно рядом с содержимым сайта:
Фильтруем нужные данные
Теперь совершенно стандартным образом давайте отфильтруем в коде страницы нужные нам строки по обнаруженным меткам. Для этого выбираем в окне Power Query в фильтре [1] опцию Текстовые фильтры — Содержит (Text filters — Contains), переключаемся в режим Подробнее (Advanced) [2] и вводим наши критерии:
Добавление условий выполняется кнопкой со смешным названием Добавить предложение [3]. И не забудьте для всех условий выставить логическую связку Или (OR) вместо И (And) в выпадающих списках слева [4] — иначе фильтрация просто не сработает.
После нажатия на ОК на экране останутся только строки с нужной нам информацией:
Чистим мусор
Останется почистить всё это от мусора любым подходящим и удобным лично вам способом (их много). Например, так:
- Удалить заменой на пустоту начальный тег: <span class=»price»> через команду Главная — Замена значений (Home — Replace values).
- Разделить получившийся столбец по первому разделителю «>» слева командой Главная — Разделить столбец — По разделителю (Home — Split column — By delimiter) и затем ещё раз разделить получившийся столбец по первому вхождению разделителя «<» слева, чтобы отделить полезные данные от тегов:
- Удалить лишние столбцы, а в оставшемся заменить стандартную HTML-конструкцию " на нормальные кавычки.
В итоге получим наши данные в уже гораздо более презентабельном виде:
Разбираем блоки по столбцам
Если присмотреться, то информация о каждом отдельном товаре в получившемся списке сгруппирована в блоки по три ячейки. Само-собой, нам было бы гораздо удобнее работать с этой таблицей, если бы эти блоки превратились в отдельные столбцы: цена, бренд (издательство) и наименование.
Выполнить такое преобразование можно очень легко — с помощью, буквально, одной строчки кода на встроенном в Power Query языке М. Для этого щёлкаем по кнопке fx в строке формул (если у вас её не видно, то включите её на вкладке Просмотр (View)) и вводим следующую конструкцию:
= Table.FromRows(List.Split(#»Замененное значение1″[Column1.2.1],3))
Здесь функция List.Split разбивает столбец с именем Column1.2.1 из нашей таблицы с предыдущего шага #»Замененное значение1″ на кусочки по 3 ячейки, а потом функция Table.FromRows конвертирует получившиеся вложенные списки обратно в таблицу — уже из трёх столбцов:
Ну, а дальше уже дело техники — настроить числовые форматы столбцов, переименовать их и разместить в нужном порядке. И выгрузить получившуюся красоту обратно на лист Excel командой Главная — Закрыть и загрузить (Home — Close & Load…)
Вот и все хитрости
Ссылки по теме
- Импорт курса биткойна с сайта через Power Query
- Парсинг текста регулярными выражениями (RegExp) в Power Query
- Параметризация путей к данным в Power Query
Перейти к содержимому
Если вы обладаете достаточным количеством времени и ресурсов перенести данные с сайта в таблицу «Excel» можно в «ручном режиме». Тот случай, когда таблица на сайте выделяется курсором мыши, копируется и вставляется в файл «Эксель». Естественно, этот способ долог и неудобен.
Я хочу рассказать Вам о другом, автоматизированном способе переноса данных с сайта в программу «Excel». Этот способ позволяет настроить процесс импорта обновленных актуальных данных с сайта прямо в таблицу одним нажатием кнопки мыши.
Для автоматизации импорта данных в «Эксель» из интернета потребуется «Excel» версии 2013 и выше, а так же надстройка Power Query.
Последовательность настройки скачивания данных:
Порядок действий для импорта таблицы из интернет-сайта в таблицу Excel.
Программа Excel соединится с сайтом, обнаружит все опубликованные на странице сайта таблицы и предложит Вам выбрать, какую таблицу загрузить с сайта в Ваш документ Excel.
- Шаг 5. Выбрать нужную таблицу из предложенного списка и нажать «Правка» или «Загрузить»
Если нажать «Загрузить», таблица будет импортирована целиком. В режиме правки можно редактировать вид загружаемой таблицы, выбирать нужные столбцы и т.д.
21 апреля 2015
В интернет-магазинах на Eshoper.ru возможно осуществлять автоматическую выгрузку каталога товаров посредством excel-прайса. Если сайт поставщика не предоставляет прайс формата Excel, вы можете сформировать прайс с помощью специального плагина Convextra (convextra.com).
Как работать с данным плагином:
1) Установите плагин Convextra в любой браузер (Chrome, Opera, Firefox и др.):
а) Зайдите на сайт Convextra. Зарегистрируйтесь на сайте Convextra.
б) Зацепите левой левой кнопкой мыши кнопку «Convextra Plugin» и перетащите её на панель закладок браузера. Плагин установлен на Ваш браузер.
Чтобы открыть панель закладок в браузере Mozila, нажмите на список закладок, затем «Панель закладок» — «Показать панель закладок».
Чтобы открыть панель закладок в браузере Google Chrome зайдите в раздел «Настройка и управление Google Chrome, расположенном в правом верхнем углу окна браузера. Выберите «Закладки» — «Показать панель закладок».
2) После установки плагина на панель закладок браузера, откройте сайт, с которого вам нужно получить каталог товаров.
На выбранном сайте откройте необходимый вам каталог, например, «Женская одежда».
Оставаясь на данной странице запустите Convextra Plugin. Список товаров должен выделится зеленым цветом.
3) При необходимости отсортируйте товары в нужной вам последовательности и количеству товаров на странице( если такую возможность предлагает сайт-поставщик).
Рекомендуем: Если возникли проблемы с конвертированием большого каталога, разбейте его на небольшие партии по 100-500 товаров.
4) Кликните левой кнопкой мышки по выделенным товарам — вы получили таблицу с разбитыми данными описания товара. Если какие-либо данные не нужны уберите галочку.
5) Нажмите «Export from this page». Таким образом у вас экспортируется информация по товарам с одной выбранной страницы. Вы можете выбрать другие варианты экспорта, где будет конвертироваться информация сразу со всех страниц выбранной вами группы товаров. Если таких страниц много, то процесс конвертирования может не всегда успешно завершиться. Поэтому лучше забирать информацию постранично.
6) После экспорта вы получаете Excel-файл со всеми характеристиками товара.
7) Далее вам нужно отредактировать получившуюся таблицу для загрузки на сайт вашего интернет-магазина.
Для этого скачайте файл образец в кабинете управления вашим интернет-магазином.
Обязательными полями для строки, описывающей товар, являются наименование товара, код товара и его цена. В эти столбцы обязательно нужно перенести информацию. Не допускается убирать пустые колонки из Excel файла. Строка не будет импортироваться, если отсутствует значение одного из обязательных полей, или значение имеет неверный формат (например, текст вместо цены).
Чтобы перенести информацию из полученного с помощью плагина файла в файл для импорта, откройте сконвертированный вами файл, копируя поочередно необходимые вам столбцы, вставляйте их в файл образец, который вы скачали в кабинете управления.
Смотрите также:
Загрузка каталога товаров в интернет-магазин через excel
Не загружается файл импорта в магазин. В чем может быть причина?
Остались вопросы? Обратитесь в службу поддержки Eshoper.
Будем считать, что вы уже загрузили товары с сайта поставщика (как выгружать товары) и произвели необходимые наценки на товары.
Облачный парсер позволяет бесплатно выгрузить товары с сайта поставщика в большое количество различных форматов как интернет магазинов: excel, yml (Яндекс.Маркет), csv, wordpress/woocommerce, yml, simpla, opencart, bitrix, ShopScript, AdvantShop, Eshoper, PHPShop, InSales, МойСклад и др., так и сервисов совместных покупок: pokupki-prosto, 100sp, amady и т.д.
2. Выбираем необходимый формат
3. Указываем настройки выгрузки для выбранного формата
Настройки формата:
- Выгружать характеристики товара (Вес, Производитель, Габариты и пр.) в описании или отдельными столбцами.
- Выгружать все изображения или конкретное количество.
- Для товаров с модификациями (разновидности одного и того же товара, имеющие разные размеры, цвета, цены и пр.) доступны следующие опции для вывода:
- Без модификаций — не будут выведены
- Без модификаций, цена в параметрах — модификации так же не выводятся, цена модификации выводится в параметре, например: размер S (100 руб.); размер M (150 руб.)
- Модификации в товаре — для общих форматов XLS, CSV будут напечатаны в компактном виде в ячейке, для форматов конкретных сервисов, сайтов и CMS — в соответствии с требованиями к формату.
- Модификации отдельными строками (ниже товара) — под товаром, без повторения характеристик товара.
- Модификации отдельными товарами — все варианты будут напечатаны отдельными строчками с повторением характеристик товара, сам товар напечатан не будет.
- Модификации отдельными товарами с группировкой по цене — каждый вариант товара выводится как отдельный товар, при этом производится группировка вариантов по цене (для уменьшения количества товаров). При группировке объединяются параметры, остальные поля, в т.ч. артикул, изображения, характеристики выводятся одинаковыми для всех строк группы.
- Разделители изображений, параметров (размер, цвет и пр.), столбцов (для csv).
- Разрешить html-разметку в описании товара — Многие CMS поддерживают html-теги при импорте, если же нет, выключите данную опцию, парсер автоматически отформатирует текст согласно html-тегам, но сами теги выгружать не будет.
- Каждое фото в отдельном столбце — выгружать фото в одной ячейке через разделитель или в отдельном столбце.
- Кодировать кириллические ссылки — позволяет кодировать не латинские символы в ссылках вида. Например, ссылку https://shop.com/кроссовки/1.html в https://shop.com/%D0%BA%D1%80%D0%BE%D1%81%D1%81%D0%BE%D0%B2%D0%BA%D0%B8/1.html.
4. Скачиваем файл
Вы можете выбрать конкретные товары или скачать все загруженные товары.
Если при открытии и/или сохранении файла у вас возникли трудности, воспользуйтесь инструкциями ниже.
Как открыть CSV файл в Excel
Особенности работы с Excel