Использование функции ImportXML в Google Таблицах для получения даты публикации веб-страниц

Я пытался разработать метод с помощью Google Таблиц, чтобы вернуть дату публикации новостей на веб-сайтах. Некоторые страницы не делают это очевидным или вообще не упоминают дату публикации, но в источнике страницы часто бывает такой узел, как:

<meta content="2018-10-16T00:03:35+0100" itemprop="datePublished" />

Поэтому я придумал такую ​​функцию:

=ImportXml(A19, "//meta[@itemprop='datePublished']/@content") 

для URL-адреса в ячейке A19, который вернет содержимое, если узел использует этот синтаксис.

Однако на других страницах это будет не так - синтаксис будет примерно таким, и Google Таблицы вернут ошибку «Импортированный контент пуст»:

<meta property ="article:published_time" content="2018-10-16T00:03:35+0100" />.

Кажется, что соответствующие узлы в исходном коде будут содержать слово «опубликовано» - есть ли способ построить мой запрос, чтобы он возвращал контент из любого узла, содержащего слово «опубликовано»?

Спасибо большое!

Всего 1 ответ


Попробуйте этот запрос Xpath:

//meta[@*[contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'published')]]/@content

Он ищет любой атрибут, содержащий «опубликованный» как подстроку, с нечувствительным к регистру.

Я тестировал его в этой строке:

<meta content="2018-10-16T00:03:35+0100" anyprop="datepublishedhelloworld" />

и он вернул этот результат:

Attribute='content=2018-10-16T00:03:35+0100'

С помощью этого инструмента https://www.freeformatter.com/xpath-tester.html


Есть идеи?

10000