Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Погрузись в захватывающий фэнтезийный мир! Создай уникального мага и вступай в эпичные тактические сражения. Оттачивай навыки в динамичных онлайн-битвах . Всё это ждёт тебя в «Битве магов»!

Битва Магов

Хардкорные, Мидкорные, Ролевые

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
78
quickwin.ru
quickwin.ru
MS, Libreoffice & Google docs

Как найти и распарсить JSON на странице сайта в интернете с помощью VBA Excel?⁠⁠

5 лет назад

В этом посте я покажу, как с помощью VBA сделать, то, для чего VBA вроде бы как изначально не предназначен – как получить значения нужных переменных из структуры JSON.

Этот пост сделан по мотивам просьбы моего первого и пока единственного подписчика, сделавшего комментарий на предыдущий пост «Макрос получения курсов доллара за период с сайта Банка России»

В чем отличие между сервисом ЦБ России и сайтом worldometers.info? В том, что ЦБ предлагает XML сервис для автоматической загрузки информации (см. http://www.cbr.ru/development/SXML/) – ее неудобно смотреть через веб браузер, но удобно получать с помощью паучьих алгоритмов, а worldometers.info предлагает информацию для людей, а не для пауков.

Поэтому создаваемому на VBA паучку придется постараться, чтобы понять разметку «для людей».

Для работы паука необходимо дополнительно подключить три библиотеки:

1. Microsoft XML parser (MSXML) – тот же, что использовался для получения курсов ЦБ с сайта Банка России.

2. Библиотеку для работы с объектной моделью HTML.

3. Библиотеку для использования возможностей JavaScript из VBA.

Поехали:

1) Запускаем паучка на сайт: https://www.worldometers.info/coronavirus/coronavirus-cases/

Получаем html с сайта:

В полученном html паучку нужно найти и распарсить данные о количестве зарегистрированных случаев из формата JSON. Эти данные представлены вторым аргументом в вызове функции Highcharts.chart(chartName, chartData), которая на сайте рисует график.

В результате выполнения нижепредставленного кода в переменной strJson должна оказаться структура с данными в JSON формате.

Теперь самое интересное – как распарсить эту JSON структуру? Чистый VBA это делать не умеет. Но с JSON прекрасно работает JavaScript. А в VBA есть инструмент для использования возможностей JavaScript для пользователей MS Excel.

Мы можем в VBA получить уже распарсенную JSON переменную:

Проблема в том, что с объектом objJSON ничего нельзя сделать в рамках VBA – у него нет ни свойств, ни методов. Поэтому создаем эти методы на языке JavaScript. Нам нужно вытащить даты (xAxis) и количество (series->data):

Вот что пишем в VBA редакторе:

Загоняем данные в привычные VBA массивы:

Ну и раскатываем эти массивы по рабочему листу:

Вот, что получилось в результате на листе рабочей книги:

По этим данным легко построить график, например, такой:

Если захотите получить готовый файл Excel с рабочим кодом – дайте знать в комментариях.

Показать полностью 14
[моё] Vba Json Javascript Парсер Microsoft Excel Visual basic Программирование Длиннопост
36
24
1Irina1985
1Irina1985

Скачиваем объявления с Avito за 5 минут, не умея программировать⁠⁠

5 лет назад

Задача: выгрузить объявления с Avito

Решение:

Устанавливаем бесплатное расширение WebScraper для Chrome (по ссылке)

Переходим в браузере на нужную страницу Avito (для примера, эта страница)

Вызываем контекстное меню правой кнопкой мыши>Просмотреть код

Кликаем "Web Scraper"

Create new sitemap>Create Sitemap

Sitemap Name - называете, как вам хочется

Start URL: нажимаем "Последняя" в самом низу страницы

Копируем из адресной строки браузера адрес

Вставляем адрес в поле "Start URL" в следующем формате:

https://www.avito.ru/telefonica?p=%5B1-12%5D (для того, чтобы расширение прошло по всем страницам)

Кликаем "Create Sitemap"

Кликаем "Add New Selector"

Id - пишем любое название для удобства, например, Phone

Type - выбираем "Element"

Кликаем "Selector">"Select"

Наводим курсор мыши около цены до появления такого прямоугольника и кликаем на него

Нажимаем клавишу "P" на клавиатуре (английская буква), появляется такой прямоугольник

Кликаем около цены у объявления ниже, появится второй прямоугольник. Скроллим страницу, убеждаемся, что всё выделилось.

Кликаем "Done Selecting"

Отмечаем чекбокс "Multiple", кликаем "Save Selector"

Кликаем на строчку "phone"

Кликаем "Add New Selector"

https://avatars.mds.yandex.net/get-zen_doc/2463892/pub_5eb46...

Кликаем "Select", появится рамочка, в ней наводим курсор около названия телефона, пока не буде так, кликаем. Нажимаем "Done Selecting"

Кликаем "Save Selector".

Кликаем "Add new selector", аналогично добавляем цену телефона.

Кликаем "Sitemap %NAME%">"Scrape"

Ничего не меняем, кликаем "Start Scraping"

Ждём

Появится такое уведомление

Импортируем файл в Excel: "Данные">"Из текста">выбираем скачанный CSV>следуем указаниям мастера импорта текстов

формат данных - с разделителями

мои данные содержат заголовки

разделитель - запятая

Готово!

Источник

Показать полностью 22 1
Парсер Авито Длиннопост Видео
43
13
Izumrudec
Izumrudec
My Little Pony

Парсер Derpibooru⁠⁠

5 лет назад

Товарищи, я недавно спрашивал у вас мнение насчет парсера (А надо ли?). Получив фидбек, я начал разработку программы-парсера, которая умеет скачивать нужные арты по запросу. Далее я покажу пример работы моей программы:


0. Самое главное условие - у вас должен быть доступ к сайту Буры. Если сайт недоступен - используйте ВПН (или напишите мне в телеграм - dmitriy459 - скину рабочий впн)

1. В главном меню выберите необходимый режим. Тут надо объяснить принцип работы программы - сначала генерируются ссылки по вашему запросу и сохраняются в файл urls.txt, а потом программа построчно читает этот файл и скачивает арты. Поэтому если по запросу находится много артов можно сначала их сохранить в файл, закрыть программу и через некоторое время начать скачивать арты из файла.

Далее, программа спросит ключ Derpibooru для скачивания explicit артов. Узнать его можно так:

В данном примере ключ 0123456789-1011 (с дефисом)
2. Далее, введите нужный запрос. Он может быть сложным: со скобками,!, &&, || . Для примера я использовал запрос python.

3. Затем, программа спросит путь до папки, куда надо сохранять арты. (Вы в любой момент можете прервать процесс получения ссылок и перезапустить программу, выбрав второй пункт в главном меню)

4. Выбираем с какого арта начать скачивание

И начинается скачивание. Арты нумеруются с нулевого.

После того, как программа скачает все арты, она выведет сообщение:

Несмотря на то, что счет дошел до 49 (особенности многопоточного приложения), все 78 артов успешно скачаны, в чем мы и убеждаемся, открыв папку:

Вот, в принципе и всё. Скачать программу можно тут - https://yadi.sk/d/vtMbxxeMJ7cVeQ .

С нетерпением жду фидбека)

Показать полностью 9
[моё] My Little Pony Derpibooru Парсер Длиннопост
19
7
Rattlhead
Rattlhead
Web-технологии

Парсинг сайтов с помощью Google Table V2⁠⁠

6 лет назад

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

function readlink() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:A5000");//Диапазон работы скрипта
for(var j=Номер первой строки ;j<=Номер последней строки;j++){ // Цикл для прохождения всех ячеек первого столбца.
cell = range.getCell(j,1);
getProductContent(j,"https://cleanshop.ru/"+cell.getValue())//Отправляет на анализ каждую страничку товара.
}

Если вы работаете в одной таблицы для получения ссылок на товары и их анализ.

1. Делаете копию функции function getPageContent(startRow,url) задаем ей новое имя function getProductContent(startRow,url).1.1 Настраиваем в ней рабочий диапазон ячеек var range = sheet.getRange("B1:Z5000"); со второго столбца "В" тк первый столбец занят нашими ссылками.

1.2. После чего добавляем в нее скрипты для парсинга информации со странички товара необходимой нам.


2. Настраиваете функцию function getPageContent(startRow,url) только для получения ссылок на товар и запись их в первый столбец таблицы.

2.1 Строку cell=cell.offset(1,-5); меняем на cell=cell.offset(1,0); чтобы перемещаться на одну строчку вниз не затрагивая столбцы. А также удаляем все cell=cell.offset(0,1); т.к теперь мы работаем только с одним столбцом и перемещаться по ним нет необходимости.


В итоге у вас должно получиться 4 функции

function getconten() - Для отправки страницы со списком товара на парсинг.

function getPageContent(startRow,url) - Парсинг списка товаров для получения ссылок на них.

function readlink() - Чтение ссылок из первого столбца для отправки их на отдельный парсинг

function getProductContent(startRow,url) - Парсинг уже страницы самого товара.


Сначала запускаете function getconten() чтобы получить список ссылок на товар, после function readlink() чтобы получить информацию с товара. Если товаров много то скрипт завершится ошибкой о превышение времени работы. Вам нужно найти последнюю строчку на который он закончил и ее номер вписать в цикл for(var j=Сюда;j<=Номер последней строки;j++) в function readlink() и снова запустить скрипт тогда он продолжит уже с этой строки.


P.S Google Apps Script ‒ это язык программирования, основанный на JavaScript. С его помощью можно добавить меню, диалоги и боковые панели в Google Документы, Таблицы и Формы, а также создавать новые функции в Google Таблицах.

Кроме того, Apps Script позволяет разрабатывать приложения и взаимодействовать со многими сервисами Google, включая AdSense, Analytics, Finance, Gmail, Диск, Календарь и Карты.


Ссылка на официальную документацию

Показать полностью
[моё] Google script Парсинг Pikaweb HTML Парсер Текст
9
3256
Ulfhander
Ulfhander

Месть — это блюдо, которое нужно подавать холодным.⁠⁠

6 лет назад

Все началось с этого

А теперь разберемся как наказать мелкого упыря

Для начала изучим правила портала

Есть бан за накрутку, отлично, давайте приступим.

Необходимый софт

WebHarvy: Парсер
RSocks: Чекер прокси
Excel: Электронные таблицы
TrafficBot: Накуртка трафика

В данном посте я не делаю полного разбора функционала данных программ, а показываю лишь последовательность своих действий.

В начале нам нужны PROXY, для этого находим сайты помоечки и переносим прокси в таблицу.

Не со всех сайтов можно скопировать принципом Ctrl + C, Ctrl + V.
С некоторых инфу собирать будем парсером

1. Вставляем ссылку с которой будем собирать инфу
2. Пока вы не нажали START программа работает как обычный браузер для просмотра Web страниц. Нажимаем START

3. Делаем клик по тем данным что нам нужно собрать

Указываем что это текст, и задаем имя для колонки данных

Видим в нижнем левом углу что программа верно поняла что мы хотим собрать
Проделываем тоже самое с PORT

Для того что бы собрать данные со всех страниц.

1. Левый клик по стр 2

2. Нажимаем Set as Next Page Link

Все что нам нужно я указал.
Нажимаем Stop, и запускаем сбор данных Start-Mine

Понеслось.

Можно прервать или дождаться полного сбора данных, а затем их экспортировать в EXCEL
---

Программа поддерживает до 10 параллельных потоков. Можно сразу совершать сбор с 10 сайтов.

Теперь сцепляем данные в EXCEL.

После того как мы перенесли все прокси в единую таблицу.
Удаляем дубли, ведь PROXY могут повторятся.

Теперь нужно проверить работают ли они
Для этого запускаем чекер

1. Указываем ссылку для запроса, у меня это просто гугл.

2 Загружаем наши прокси в программу

Запускаем чекер

Создаем фильтр, указываем что результат не равен -

Теперь отображаются только рабочие прокси
После проверки 14071 прокси я получил 992 рабочих

С тех ссылок можно собрать до 80000 уникальных прокси, но поскольку я воссоздаю то что делал, решил что для примера хватит и 14000.
Самое главное что бы трафик был очень говнистым.
Proxy числились в спам базах
Ну и страна происхождения Китай, Африка и т.д
Поэтому заливать будем все что есть, без разбора.

Закончив проверку наших прокси сохраняем их в txt файл.

Запускаем траффик бот

1. Выбираем что мы используем наши прокси Private Proxies

2. Тык

3. Вносим наши проверенные прокси и сохраняем

В URL List вносим ссылку которую он нам отправил для перехода
Referer там список сайтов с которых типо был совершен переход по ссылке


1. Тут у меня ошибка. Я выбрал строку ниже, она значит что после перехода по ссылке совершится 2 рандомных клика

2. Минимальное и максимальное время пребывания на сайте, Threads количество потоков.

3. Жмем Start


Видим в окне Result что мы совершаем переходы и с каких сайтов
А в низу окна Visits видим количество переходов.

------

Так же я зарегистрировался на том сайте
И сам себе подарил бан. Зачем? Просто так

Показать полностью 18
[моё] Microsoft Excel Парсер Месть Длиннопост Переписка ВКонтакте Малолетки Прокси Фекалии
288
50
MGVLT
Arduino & Pi

Парсер данных с интернета на ARDUINO⁠⁠

6 лет назад
[моё] Arduino Парсер Видео
30
55
odekvaten

Leongram кидает людей. Или как меня забанили за требование вернуть деньги.⁠⁠

6 лет назад

Существуют такие сервисы, для сбора информации из социальных сетей. В данном случае сервис Leongram заявляет, на главной странице своего сайта leongram.com , что сбор ведется по гео меткам, указываются координаты, программа выдает гео метки instagram.
Оплатил месяц, собирал потихоньку базы, пока сегодня данная функция не перестала работат. Я написал в поддержку, где мне сообщили что данная функция заработает не раньше середины июля.

Я попросил заморозить подписку до момента обновления. Мне отказали. Я попросил вернуть деньги, мне отказали. Я написал что меня ввели в заблуждение, так как на главной странице написано, что такая возможность есть, а в поддержке подтвердили что она не работает. И сказал, что они нарушают закон.
Со мной вежливо попрощались и ограничили чат.
Зайдя в программу я увидел, что моя подписка (которая должна была закончиться 26.07) закончилась сегодня!!!

Зарегистрировал второй аккаунт, написал то му же специалисту, в ответ он мне скинул пункт 2.8 договора http://leongram.com/rules.pdf
2.8 Администрация оставляет за собой право отключить Заказчика без права на

возврат денежных средств в случае нарушения правил поведения при

комментировании материалов, а именно: разжигание межнациональных

конфликтов, спам, нецензурные высказывания, хамство, оскорбление автора или

участников, шантаж, передача доступа третьим лицам, использование

программы несколькими людьми.


У меня есть скрины все переписки, самые "жесткие" с моей стороны сообщения содержат обвинения в мошенничестве и нарушении закона о защите прав потребителей.
Уважаемые Пикабушники я хочу справедливости (и плевать на эти 499 рублей), я сам работаю в интернет торговле и за 4 года работы у меня не было ни одной спорной ситуации, которая решилась бы не в пользу клиента.
Поддержите меня лайком.

Показать полностью 2
[моё] Leongram Мошенничество Обман Парсер Длиннопост
15
rompermi
Сериаломания | Киномания

Сериалы, доступность видео, серийность контента – во всем этом кроется принцип успешных каналов.⁠⁠

7 лет назад
[моё] Сериалы Серийный контент Парсер Продвижение Сериаломаны Доступность Ютубер YouTube Видео
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии