Запрос Google Sheets IMPORTXML

Я использую 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 ответ

Решение

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

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

Образец 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?

Другие вопросы по тегам