Регулярное извлечение данных импорта с сайта GoogleSheets - PullRequest
0 голосов
/ 10 марта 2019

Цель состоит в том, чтобы извлечь теги title и из веб-страницы .

Я использую importdata и хочу, чтобы результаты были все в 1 строке. Как это:

[webpage] [title] [1st tag] [2nd tag] [3 rd tag] [4th tag] ... [last tag]

Я застрял на полпути мой процесс в googlesheet

  • первая вкладка Extracted - я извлек необходимые строки из большие данные.

    =query({array_constrain(IMPORTDATA(A1),6375,10)},"WHERE (Col1 CONTAINS 'btn btn-secondary' AND Col1 CONTAINS 'href') or (Col1 CONTAINS 'meta property' AND Col1 CONTAINS 'og:title')")
  • вторая вкладка with REGEXEXTRACT - извлек нужный текст, но работает только для первой строки (только извлеченные tags, title все еще не найдены, поскольку распространяется на несколько столбцов ...)

    =REGEXEXTRACT(query({array_constrain(IMPORTDATA(A1),6375,10)},"WHERE (Col1 CONTAINS 'btn btn-secondary' AND Col1 CONTAINS 'href')"),"\>(.+)\

Я не знаю, как идти дальше :( Любая помощь приветствуется!

1 Ответ

0 голосов
/ 10 марта 2019
=ARRAYFORMULA({REGEXREPLACE(TEXTJOIN(", ",1,
 QUERY(ARRAY_CONSTRAIN(SUBSTITUTE(IMPORTDATA(A2),"""",""),1000,15),
 "where Col1 contains '<meta property=og:title content='")),
 "<meta property=og:title content=| />",""),
 TRANSPOSE(REGEXEXTRACT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 ARRAY_CONSTRAIN(SUBSTITUTE(IMPORTDATA(A2),"""",""),8000,3)),,50000)),
 "where Col1 contains '<a class=btn btn-secondary'"),"\>(.*)+\<"))})

0

демонстрационная таблица

...