Я пытаюсь запросить файл x html, чтобы извлечь заголовок, но не могу этого сделать.
Файл является выходным файлом wget этой веб-страницы .
Элемент с полным XPath / html / body / div 1 / div [2] / div [3] / div / div [3] / div 1 / div / div [3] / div / div / div / div / span 1 :
<span class="ep_name"> Trans-European energy infrastructure: Union list of projects of common interest </span>
Желаемый вывод:
Trans-European energy infrastructure: Union list of projects of common interest
Пытался:
xmlstarlet sel -N n="http://www.w3.org/1999/xhtml" -t -m "/n:html/n:body/n:div[1]/n:div[2]/n:div[3]/n:div/n:div[3]/n:div[1]/n:div/n:div[3]/n:div/n:div/n:div/n:div/n:span[1][@class='ep_name']" -v . -n file
Я получаю полный список ошибок; все от «несоответствия открывающего и заканчивающего тегов» до «преждевременного окончания данных в теге» многих тегов, включая тело xmlstarlet val выдает мне 'invalid', а xmlstarlet el следующее:
html
html/head
html/head/title
html/head/meta
html/head/meta
html/head/meta/meta
html/head/meta/meta
html/head/meta/meta
html/head/meta/meta
html/head/meta/meta
html/head/meta/meta
html/head/meta/meta
html/head/meta/meta
html/head/meta/meta
html/head/meta/meta
html/head/meta/meta
html/head/meta/meta
html/head/meta/meta/meta
html/head/meta/meta/meta
html/head/meta/meta/meta
html/head/meta/meta/style
html/head/meta/meta/style
html/head/meta/meta/style
html/head/meta/meta/style
html/head/meta/meta/style
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
html/head/meta/meta/script
procedure:66.70: Specification mandate value for attribute defer
<script type="text/javascript" src="/oeil/js/cookie-policy.js" defer></script>
Возможно ли, что xmlstarlet не может получить доступ к тому, что я пытаюсь запросить? Каким было бы решение? Использование sed было бы очень сложно, так как мало, но заголовок уникален в файле.