Использование функции ImportXML в Google Sheets для получения даты публикации веб-страниц - PullRequest
0 голосов
/ 08 ноября 2018

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

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

Итак, я придумал такую ​​функцию:

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

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

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

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

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

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

1 Ответ

0 голосов
/ 08 ноября 2018

Попробуйте этот запрос 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...