Obter tag selecionada do arquivo html

1

Eu tenho uma fonte de uma página e preciso obter todas as tags desse arquivo. Ordem é importante. Eu preciso de scripts externos e in-line. tag deve ser incluída na saída. Eu estou procurando uma ferramenta de console do Linux.

Eu tentei pesquisar, mas não consegui encontrar nada, ao ponto de usar o jQuery para obter essas informações e colá-las em um arquivo. Mas esta saída tem alguma codificação estranha, então eu preciso analisá-la tradicionalmente.

Exemplo: Entrada:

<html>
  <head>
    <script src="script1.js"></script>
    <script src="script2.js"></script>
    <script>alert('hello');</script>
  </head>
  <body>
    <div id="main">...</div>
    <script src="footer.js">
  </body>
</html>

Saída:

<script src="script1.js"></script>
<script src="script2.js"></script>
<script>alert('hello');</script>
<script src="footer.js">

Segundo exemplo, reproduza somente atributos src.

script1.js
script2.js
inline script 
footer.js
    
por Maciej Krawczyk 11.10.2015 / 16:29

2 respostas

0

Você pode usar grep para esse e seu único parâmetro de correspondência ( -o ), por exemplo:

$ grep -o "<[^>]*>" <(curl -s http://example.com/)

Isso imprimirá todas as tags html, incluindo o pedido.

Para incluir apenas as tags <script> , tente (altere index.html com seu arquivo):

$ grep -Eo "<script.*(</script>|>)" index.html

Para obter apenas os nomes de arquivo (do atributo src ), você pode estender adicionando outro grep , por exemplo:

$ grep -Eo "<script.*(</script>|>)" index.html | grep -o '"[^"]*"' | tr -d '"'

A sintaxe acima não o ajudará com muitas variações diferentes de código html, portanto, para soluções mais complexas, usando o regex para analisar o html em geral não é recomendado, portanto, você deve usar ferramentas apropriadas (idioma de sua preferência ou confira estas ferramentas de shell ).

    
por 11.10.2015 / 16:34
0

Eu sei que você já aceitou uma resposta, mas também quero acrescentar que você pode pesquisar em xpath .

Ele é feito especificamente para dados no estilo xml.

No seu caso, o xpath para isso seria

//script

Aqui também é outro exemplo de alguém que usa o xpath para analisar HTML

    
por 25.04.2018 / 18:35

Tags