Парсинг сайтов в Excel. Выкачиваем расстояния макросом VBA

Поделиться
HTML-код
  • Опубликовано: 31 окт 2024

Комментарии • 81

  • @ДмитрийКобызев-и2ъ

    Для меня, это одно из самых лучших и полезных видео по Excel. Павел, огромное Вам спасибо!

  • @AlexConglomerate
    @AlexConglomerate 4 года назад +8

    Наконец-то... Дождались!

    • @Pavel_Taranukha
      @Pavel_Taranukha  4 года назад +2

      В следующем видео в казино пойдем. На рулетку ;-)

  • @kimWimp
    @kimWimp 3 года назад +1

    Супер! Наконец-то понял что когда-то не зря в институте бейсик изучал

  • @dncdncdncdnc8034
    @dncdncdncdnc8034 4 года назад +2

    не в тему конечно, но отпишусь:
    за функцию спасибо, но меня больше радует позитивный настрой и улыбка на лице...
    реальный эксель - реально поднимает настроение
    спасибо

    • @Pavel_Taranukha
      @Pavel_Taranukha  4 года назад

      Спасибо! А я уж подумывал, что нужно позанудливее быть)

  • @vitaliyivanov1477
    @vitaliyivanov1477 2 года назад

    Весь день искал решение, в час ночи нашел))) завтра буду пробовать 👍👍👍

  • @ИльяЗозуля-х3я
    @ИльяЗозуля-х3я 2 года назад

    Ценно, ценно. Спасибо, Павел!

  • @Magic-oc1jk
    @Magic-oc1jk 8 месяцев назад

    огромное спасибо за информацию

  • @1gr3k
    @1gr3k 4 года назад +1

    Очередной топчик!!! Берегитесь сайты DOS атак ;)

  • @ЛабораторияНУИНаУровнеИнтуиции

    Это просто перфекто! Спасибо огромнейшее)

  • @Stalin-dm9br
    @Stalin-dm9br 4 года назад +1

    Здравствуйте видео супер. Хочется что бы Вы развивали данную тему. Это будет и для Вас полезно. 1. Хотелось бы увидеть как парсить многостраничные сайты с разными конструкциями. 2. Что если макросы или функции делать более гибкими например адрес сайта не вбивать в код макроса а прописывать в ячейке и код будет брать его оттуда. Так же и с остальными параметрами.

    • @Pavel_Taranukha
      @Pavel_Taranukha  4 года назад

      Здесь я делюсь различными подходами и приемами, которые сам использую в своей практике. Конечно же будет здорово если мои видео натолкнут на еще более интересные решения!))

    • @Stalin-dm9br
      @Stalin-dm9br 4 года назад

      @@Pavel_Taranukha скажите пожалуйста то что я предлагаю насчет гибкости, это возможно реализовать?

    • @Pavel_Taranukha
      @Pavel_Taranukha  4 года назад

      Конечно можно)
      Нужно просто вкурить объектную модель:
      Книга - лист - ячейка.
      Соответственно чтобы из макроса достучаться до ячейки а1 в Лист1 нужно написать:
      Sheets("Лист1").Range("A1")
      Или
      Sheets("Лист1").Cells(1,1)

  • @vladimirkuzmenko3533
    @vladimirkuzmenko3533 4 года назад

    Супер огромное спасибо!!! Давно искал эту информацию.

  • @СветланаВоробьева-ь8т

    Каааак же вовремя то!!!!

  • @denispotapov9828
    @denispotapov9828 4 года назад +1

    Круто, полезная штука!

  • @Виталий-и4б6л
    @Виталий-и4б6л 4 года назад

    Круто, вот реально крутой контент лайк + подписка однозначно

  • @ОльгаГорбатко
    @ОльгаГорбатко 4 года назад +1

    👍

  • @ИванБелков-л5м
    @ИванБелков-л5м 3 года назад +1

    Добрый день. Я только начинаю изучать эту тему. Для меня не понятно. С чего начать? Подскажите пожалуйста

  • @Багира.Кошкавегетарианка

    Подскажите пожалуйста, а можно это организовать не в экселе, а на сайте например. Внедрить туда выгрузку расстояния также, без всяких гугл и яндекс API ключей?

  • @alexandrabramov227
    @alexandrabramov227 4 года назад

    Круто, дружище! Просмотров не много ввиду специфической темы (это не сиски и котики), но не останавливайся!!! Благое дело делаешь!!
    Вопрос как к гуру. Можно ли получить в immediate JSON ответ от запроса отсылая ссылку и несколько переменных?

    • @Pavel_Taranukha
      @Pavel_Taranukha  4 года назад +1

      Спасибо! Про json - Скорее всего можно, но у меня пока такой потребности не было и прямо сейчас нет готовых решений.

  • @yoQkee
    @yoQkee 4 года назад

    Магия вне Хогвартса

    • @Pavel_Taranukha
      @Pavel_Taranukha  4 года назад

      Мои видео не смотрят маглы. Исключительно будущие или практикующие чародеи;-)

  • @ДмитрийДонской-й6с

    У меня не работает выдает ошибку list separator or )? Прямо сначала решил все сделать как на видео и не получилось

  • @ВасилийШумилов-о8ь

    А почему не парить страницу через mshtml или msxml, и найти тег уже по id 🤔

  • @umrbekmatrasulov4141
    @umrbekmatrasulov4141 3 года назад +1

    а что если запрос на сайте не get, а post

  • @ИванБелков-л5м
    @ИванБелков-л5м 3 года назад +1

    Добрый день. Спасибо за виде очень интересно и познавательно. Подскажите как сделать парсинг с сайта с тестами. Где надо сделать сбор вопросов и ответов верных и неверных. Спасибо

    • @Pavel_Taranukha
      @Pavel_Taranukha  3 года назад

      Добрый день!
      На канале есть три способа парсинга. Нужно выбрать тот, который подойдет для вашего сайта.)

    • @ИванБелков-л5м
      @ИванБелков-л5м 3 года назад

      @@Pavel_Taranukha спасибо

  • @bohdankuhar7763
    @bohdankuhar7763 Год назад

    а можно ли поставить таймер на запросы? пробовал ставить .SetTimeouts перед .Open, но vba будто просто его игнорирует (

    • @Pavel_Taranukha
      @Pavel_Taranukha  Год назад

      Долго искать, но вот здесь я таймер задержки использовал.
      ruclips.net/video/KdlbvthMVvo/видео.html

  • @ЕвгенийГарагатый
    @ЕвгенийГарагатый 4 года назад +1

    При проверки функции GetHTTPResponse пишет о проблеме expected list separator or. В чем может быть ошибка?

    • @MrDjoniJoker
      @MrDjoniJoker 4 года назад +1

      Такая же проблема

    • @semenyukek
      @semenyukek 3 года назад +1

      И у меня та же история...нашли решение?

    • @MrDjoniJoker
      @MrDjoniJoker 3 года назад

      @@semenyukek да Гугл Таблицы importXML

    • @СаняВасиев
      @СаняВасиев 3 года назад +2

      @@semenyukek Когда ссылку вставляете, оберните ссылку в кавычки " "

    • @bettupa3222
      @bettupa3222 3 года назад

      @@СаняВасиев спасибо саня

  • @Kilotki
    @Kilotki 4 года назад +1

    здравствуйте. У меня почему-то ругается на Set oXMLHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
    пишет Variable not defined
    Просто скопировал ваш текст из описания видео, и вставил в модуль. В чем может быть проблема?

    • @Pavel_Taranukha
      @Pavel_Taranukha  4 года назад +1

      Доброго дня! Возможно требуется подключить библиотеку WinHttp.WinHttpRequest.5.1.
      Для этого в VisualBasic нужно нажать меню Tools -> References и там найти нужную библиотеку.
      Она скорее всего будет называться "Microsoft WinHttp Services, version 5.1"
      Ставим на ней галку и жмем ОК.

    • @ДмитрийКобызев-и2ъ
      @ДмитрийКобызев-и2ъ Год назад

      Или попробуйте удалить строчку вверху: "Option Explicit"

  • @Tom-h21
    @Tom-h21 4 года назад

    Я думал я один такой невежа пишу переменные на русском. А нет. Есть ещё такие как и я)

    • @Pavel_Taranukha
      @Pavel_Taranukha  4 года назад +2

      Нет, ну а для кого системы уже много лет кирилическую локализацию поддерживают. Невежды имя переменной ударом кулака по клавиатуре задают, а мы - славянофилы. Мы к кирилице с любовью и пиететом)))

    • @SV-13
      @SV-13 Год назад

      Вы ещё и невежда, судя по употреблению в данном случае слова "невежа"...

  • @НиколайСанЫчь
    @НиколайСанЫчь 3 года назад

    У этого сайта же есть REST Api!

  • @mr.brightside_21
    @mr.brightside_21 4 года назад

    Здравствуйте. У меня на макбуке не работает функция GetHTTPResponse. Не подскажите, пожалуйста, что в коде следует дописать? Спасибо!

    • @Pavel_Taranukha
      @Pavel_Taranukha  4 года назад

      Нет повести печальнее на свете чем макросы экселя на макбуке. Как, впрочем и сводные таблицы, и срезы, и другие новомодные фишки(

  • @Жека-ъ5ц
    @Жека-ъ5ц 4 года назад

    Здравствуйте пытаюсь парсить через макрос (CreateObject("WinHttp.WinHttpRequest.5.1")), почему после post в .send { переменная из листа через range("a1")} не срабатывает

    • @Pavel_Taranukha
      @Pavel_Taranukha  4 года назад

      Отключите on error resume next и посмотрите какая ошибка вылетает. Нужно проверить какая строка передается и дает ли она нужный результат, будучи скопирована в строку адреса браузера.

  • @maxedison9222
    @maxedison9222 5 месяцев назад

    А вы переменные на русском языке всегда определяете?не глючит vba, не ругается временами?

    • @Pavel_Taranukha
      @Pavel_Taranukha  5 месяцев назад +1

      Только если в игривом настроении. ВБА никогда по этому поводу не глючил. Всеяден, чертяка)

  • @РифатБахтиев
    @РифатБахтиев 4 года назад

    Большое спасибо. Очень полезное видео.
    Попробовал повторить по тому же сайту и все получилось, но когда делал тоже самое уже на другом сайте при выдаче вылетает какой то код. ">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().get".
    Как можно с этим справиться?

    • @Pavel_Taranukha
      @Pavel_Taranukha  4 года назад

      Экспериментировать, искать варианты. Попытаться понять почему функция не возвращает тот код хтмл, который возвращает браузер. Возможно попробовать поработать через объект internet explorer. Возможно попробовать через гугл таблицы, через функцию importhtml - она клёвая))

  • @makss734
    @makss734 4 года назад

    а как данный код применить к парсингу интернет магазина? например вывести цену по штрихкоду?

    • @Pavel_Taranukha
      @Pavel_Taranukha  4 года назад

      Зависит от деталей: что за магазин, где взять штрихкод и пр... в ролике дается общий подход, но везде есть свои нюансы. Пробуйте и обязательно получится;)

  • @Ghost11237
    @Ghost11237 4 года назад

    Не могу разобраться в чем проблема, сначала повторял шаг за шагом и при просчёте вылазила ошибка argument not optional, потом уже просто под чистую скопировал полностью Ваш код и теперь при запуске макроса вылазит ошибка invalide procedure call or argument. Подскажите, в чем может быть проблема?

    • @ПавелТарануха-й4с
      @ПавелТарануха-й4с 4 года назад

      Там где написано "неравно" напишите . Просто ютуб это не хотел пропускать.

    • @fdeghb4418
      @fdeghb4418 2 года назад

      @@ПавелТарануха-й4с часа полтора убил с перерывами, не работало, то меню vba project пропадет, то кириллица крякодяброй, то нормально вставляется (и в настройки региональных стандартов залезал) . пока не сверил с текстом в видео не получилось. адрес сайта по другому написан и в одной из строчек в тексте 2, а в видео 1. В конце все строчку km = Mid(текст, Начало, Конец) подсвечивало.

  • @ЕленаСагитова-щ7ч
    @ЕленаСагитова-щ7ч 3 года назад

    Парсер нашла этого юру на тиктокн там архив . спросила за что тайна Ханта и лайма погибли ? Жду ответа

    • @Pavel_Taranukha
      @Pavel_Taranukha  3 года назад

      Наверное я не все понял в вашем сообщении, но вам тоже всего хорошего и скорейшего получения всех ответов

    • @ЕленаСагитова-щ7ч
      @ЕленаСагитова-щ7ч 3 года назад

      @@Pavel_Taranukha много вопросов и никогда ини кому не желаю этой участи у самой хасюха

  • @FormAlDeGid
    @FormAlDeGid 3 года назад

    Punto Switcher по вам плачет сударь!

    • @Pavel_Taranukha
      @Pavel_Taranukha  3 года назад

      Это я от него плачу))) потому и не ставлю. Слишком много матерюсь я от него, сударь. Не сдежан'с

  • @ПавелКраков-п7ь
    @ПавелКраков-п7ь 3 месяца назад

    раньше с петровича парсил цены, теперь лавочку прикрыли.. обидно блин

    • @Pavel_Taranukha
      @Pavel_Taranukha  3 месяца назад

      как так??
      правда я питоном у них забирал через апишку...

    • @ПавелКраков-п7ь
      @ПавелКраков-п7ь 3 месяца назад

      @@Pavel_Taranukha я тоже питоном

  • @МаксимусАве
    @МаксимусАве 4 года назад

    👍