Страницы: 1
RSS
Парсер importxml. Аналог importxml для excel
 
Всем привет, видел ваш форум пару дней назад когда искал информацию по моему вопросу... мои поиски оказались без результата и надеюсь тут мне помогут информацией, в РУнете я не нашёл информации по своей проблеме... бесплатной, а на платную пока финансов не имею, стипендия нынче не радует.
Вообщем в гугл таблицах есть такая замечательная штука как importxml, которая работает очень просто, =importxml(ячейка с линком;"код с сайта").
В моём случае парсер выглядел так =importxml(A2;"//meta[@name='description']//@content"), он тащил мне строку с информацией.
Строчка кода HTML <meta name="description" content="Новая версия (Android)" />
Текст был любой, но главное было вытащить то , что в скобочках. Это я уже потом посчёт фильтров доставал.

К сожалению гугл ограничивается 100-ней запросов и потом виснет. Поэтому решил перейти на excel.

На знакомой со школы 2007-й версии не нашёл аналогичных формул, в ходе поиска выяснил, что таких нет и если и реально реализовать аналог importxml на excel 2007, то через VBA. А в этом я полный 0, т.к не научили, а сам никогда не задумывался в сторону этого языка.

Вообщем т.к время поджимает, перешёл я на версию 2013 года и познакомился с FILTERXML, и я вообще не понимаю как он работает.
По информации с открытых источников, дело выглядит так =FILTERXML(WEBSERVICE(A2),"//meta[@name='description']//@content").
Но excel ругается на выделенный красным момент =FILTERXML(WEBSERVICE(A2),"//meta[@name='description']//@content").
Заменять , на ; пробовал, не помогает.


В чём проблема не понимаю, если кто знает объясните пожалуйста.
 
У меня есть аналог этой функции на VBA

Сначала загружаем страницу
https://excelvba.ru/code/GetHTTPResponse
Потом ищем нужный тег
https://excelvba.ru/code/html

Пример использования для вашего случая:
Код
' грузим страницу по ссылке из ячейки A2
html$ = GetResponse(Range("A2"))
' ищем тег, выводим результат в ячейку B2
Range("B2") = GetTags(html$, "meta", "name", "description", "content 1")


PS: это не весь код
Нужно ещё скопировать функции из статей по ссылкам выше
Изменено: Игорь - 11.01.2020 02:46:31
 
Очень интересно, спасибо за источники, ранее видел ваш сайт но не смог найти эти страницы.
Почитал, скачал ваш файл с первой ссылки, где имеется кнопка запуск, но т.к я полный ноль в VBA я не совсем понял как мне совместить код с первой ссылки, с кодом со второй ссылки... а так же какими функциями мне это вызывать... Та же ситуация что и с FILTERXML, по сути решение вот оно, а как работает не ясно... можете объяснить мне каким образом я должен использовать шаблоны кода с ваших ссылок, чтобы в итоге оно заработало как в гугл таблицах?
 
Увы, не готов более подробно рассказывать (это уже готовое решение тогда надо делать, а мне лень)
Может, кто из форумчан по формулам подскажет, или макрос вам готовый сделает
 
Цитата
Игорь написал:
Может, кто из форумчан по формулам подскажет
Добрый день, Игорь.
Увы, WEBSERVICE (ВЕБСЛУЖБА) предполагает, что ей передаётся ссылка, представляющая из себя запрос к web ресурсу. Следовательно ожидает получить результат этого запроса. Html код страницы не является для этой службы таким результатом. Аналога Google ImportXML в Excel нет.
Поэтому ТС стоит начать изучать VBA, хотя бы на уровне использования готового кода. Или, естественно, можно воспользоваться и Power Query. Или заказать консультацию в разделе Работа
Цитата
2.7. Если вам нужен не совет по самостоятельному решению задачи, а чтобы все сделали за вас - добро пожаловать в ветку Работа. Там, скорее всего, найдутся специалисты, которые разберутся с вашей проблемой быстро, качественно и за разумную плату.
Изменено: Андрей VG - 12.01.2020 13:46:19
 
Цитата
Игорь написал:
Может, кто из форумчан по формулам подскажет, или макрос вам готовый сделает
А вы можете его сделать? Я могу заплатить, в пределах разумного конечно
 
Да мне и делать не надо, - у меня на сайте выложен готовый пример для вашей задачи
https://excelvba.ru/programmes/Parser/samples/metatags_title_description_keyw­ords
 
Цитата
Игорь
Понял, но у вас всё работает только через вашу программу Parser. Благодарю за потраченное время, но я бы сам хотел написать подобное для своего проекта. И т.к не знаю не вшито ли там чего в макросы(стиллеры и т.д), боюсь парсить нужные мне данные, т.к беспокоюсь за кражу моей идеи. Не принимайте это как упрёк, просто я параноик)
В целом у вас очень хороший продукт, буду дальше искать информацию
P.s Андрей VG спасибо за ответ на счёт WEBSERVICE , не придётся ломать голову дальше с этой функцией
 
Игорь, добрый день! С наступившим НГ. У меня похожая задача, через importXML работает долго и с косяками (ограничение на загрузку). Сколько стоит настройка под ключ и возметесь ли?
Страницы: 1
Наверх