Запрос Google Sheets IMPORTXML - PullRequest
       9

Запрос Google Sheets IMPORTXML

0 голосов
/ 09 января 2019

Я использую Google Sheets в качестве веб-скребка.

Я использовал это IMPORTXML

=importxml(A1, "//div[@class='review-content']//text()")

и это результат

Row1: {"publishedDate":"2019-01-05T22:19:28Z","updatedDate":"null","reportedDate":"null}

Row2: {"publishedDate":"2018-12-10T22:19:28Z","updatedDate":"null","reportedDate":"null}

Row3: {"publishedDate":"2018-12-09T22:19:28Z","updatedDate":"null","reportedDate":"null}

но я не могу понять, как получить только значение "ключ к публикации". Пример:

Row1: 2019-01-05T22:19:28Z

Row2: 2018-12-10T22:19:28Z

Row3: 2018-12-09T22:19:28Z

Любые идеи относительно того, чего мне не хватает

1 Ответ

0 голосов
/ 09 января 2019

Как насчет этих 3 образцов? Я подумал их по образцам вашего вопроса. Я думаю, что есть несколько ответов для вашей ситуации. Поэтому, пожалуйста, подумайте об этом как о 3-х образцах.

Предполагается, что URL помещен в ячейку "A1".

Образец 1:

=ARRAYFORMULA(MID(IMPORTXML(A1, "//div[@class='review-content']//text()"),19,20))
  • Когда длина строки каждого значения является константой, как насчет этого?
    • Значение извлекается с помощью MID().

Образец 2:

=ARRAYFORMULA(INDEX(SPLIT(IMPORTXML(A1, "//div[@class='review-content']//text()"),"""",TRUE,TRUE),,4))
  • Когда положение каждого значения является константой, как насчет этого?
    • Значение извлекается с помощью SPLIT() и INDEX().

Образец 3:

=ARRAYFORMULA(REGEXEXTRACT(IMPORTXML(A1, "//div[@class='review-content']//text()"),"publishedDate"":""(\w.+?)"""))
  • Когда шаблон каждого значения является константой, как насчет этого?
    • Значение извлекается с помощью REGEXEXTRACT().

Ссылки:

Если это не те результаты, которые вы хотите, я прошу прощения. В то время, чтобы правильно воспроизвести ситуацию, можете ли вы указать URL-адрес, который вы используете, как говорит @ Rubén ?

...