Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 75|Resposta: 0

Use o XPath para recuperar XML e conteúdo de documentos HTML

[Copiar link]
Publicado em3 dias atrás | | | |
XPath é uma tecnologia que especifica e extrai de forma precisa e eficiente as informações necessárias de dados de estruturas em árvore, como HTML e XML.

Visão Geral do XPath

XPath é uma linguagem usada para especificar e extrair elementos e atributos específicos em uma árvore de documentos XML ou HTML. Como as páginas web geralmente são compostas por HTML, o XPath é amplamente utilizado em vários cenários, como web scraping, recuperação de dados e busca de dados XML.

O uso típico é o seguinte:

  • Extração de Dados em Web Crawlers: O XPath é usado para buscar automaticamente dados específicos, como informações de produtos em sites de comércio eletrônico ou títulos de artigos em sites de notícias.
  • Busca e Processamento de Dados XML: Em sistemas empresariais e processamento de links de dados, os dados são frequentemente trocados em formato XML. Ao usar o XPath, você pode extrair eficientemente as informações necessárias de grandes quantidades de dados XML.
  • Respostas de API de Análise (Formato XML): Ao usar APIs baseadas em XML, como o SOAP, o XPath é usado para analisar dados de resposta. Isso permite obter rapidamente códigos de status específicos e dados de resultados, melhorando a precisão da integração do sistema e do processamento automatizado.

Recomendação de ferramentas

No processo de aprendizado e uso do XPath, ferramentas comuns incluem:

Ferramentas para Desenvolvedores do Chrome: Uma ferramenta poderosa que vem com o navegador Chrome, você pode chamá-la pressionando a tecla F12. No painel "Elements", você pode localizar rapidamente elementos HTML em uma página web passando o mouse e clicando, e ao clicar com o botão direito em um elemento pode copiar diretamente a expressão XPath para facilitar a verificação e os testes. Por exemplo, ao analisar uma página de produto de comércio eletrônico, você pode usar ferramentas de desenvolvimento do Chrome para obter rapidamente XPath para nomes de produtos, preços e outros elementos.
Ferramentas para Desenvolvedores do Firefox: Também vem com o navegador, semelhante às Ferramentas para Desenvolvedores do Chrome. Também permite localizar facilmente elementos na sua página, além de visualizar e testar expressões XPath. Essa é uma boa opção para desenvolvedores acostumados a usar o navegador Firefox.
Ferramentas online de teste XPath: Ferramentas online como o "XPath Tester" podem ser usadas sem instalação e podem ser usadas abrindo uma página web. Basta colar o conteúdo de um documento XML ou HTML, inserir uma expressão XPath e ver os resultados correspondentes em tempo real. Essa ferramenta é especialmente adequada para iniciantes começarem rapidamente e fazerem exercícios simples de XPath.
Plugin XPath Helper: Pegando o Chrome Browser como exemplo, após instalar o plugin XPath Helper, ele adiciona uma janela flutuante à interface do navegador ao navegar na web, exibindo o caminho XPath do elemento atual sobre o mouse-over, e você pode editar e testar expressões XPath diretamente na janela, melhorando muito a eficiência do desenvolvimento.

Sintaxe Abstrata do XPath

Selecione um nó

O XPath usa expressões de caminho para selecionar nós em um documento XML. Os nós são selecionados seguindo um caminho ou passo. As expressões de caminho mais úteis estão listadas abaixo:
expressão
descrição
Nome de nóSeleciona todos os nós filhos desse nó.
/Escolha do nó raiz (pegue o nó filho).
//Seleciona nós no documento a partir do nó atual da seleção correspondente, independentemente de sua localização (pegue nós descendentes).
.Escolha o nó atual.
..Escolha o nó pai do nó atual.
@Escolha um atributo.

Na tabela abaixo, listamos algumas expressões de caminho junto com os resultados das expressões:
Expressões de caminho
resultado
livrariaEscolha todos os nós chamados livraria.
/bookstore
Escolha a livraria de elementos raizes.
Nota: Se o caminho começa com uma barra para frente ( / ), então esse caminho sempre representa um caminho absoluto para um elemento!
Livraria/LivroSeleciona todos os elementos do livro que são elementos infantis da livraria.
//bookSeleciona todos os subelementos do livro, independentemente de sua posição no documento.
livraria//livroSelecione todos os elementos do livro que sejam descendentes do elemento da livraria, independentemente de onde estejam localizados na livraria.
@langEscolha todas as propriedades chamadas lang.

Predicados

Um predicado é usado para encontrar um nó específico ou um nó contendo um valor especificado.
O predicado está embutido entre colchetes.
Na tabela abaixo, listamos algumas expressões de caminho com predicados e os resultados das expressões:
Expressões de caminho
resultado
/bookstore/book[1]Escolha o primeiro elemento de livro que faz parte do elemento criança da livraria.
/bookstore/book[last()]Escolhe o último elemento do livro que faz parte do subelemento da livraria.
/bookstore/book[last()-1]Escolhe o penúltimo elemento do livro que pertence ao elemento criança da livraria.
/bookstore/book[position()<3]Escolha os dois primeiros elementos do livro que são elementos filhos do elemento da livraria.
Título[@lang]Seleciona todos os elementos de título que possuem uma propriedade chamada lang.
título[@lang='eng']Seleciona todos os elementos do título que possuem um atributo lang com valor eng.
/bookstore/book[price>35.00]Seleciona todos os elementos do livro do elemento da livraria, e o valor do elemento de preço deve ser maior que 35,00.
/bookstore/book[price>35.00]//titleSeleciona todos os elementos de título do elemento livro no elemento livraria, e o valor do elemento preço deve ser maior que 35,00.

Selecione um nó desconhecido

Os coringas do XPath podem ser usados para captar elementos XML desconhecidos.
Curinga
descrição
*Corresponde a qualquer nó de elemento.
@*Corresponde a qualquer nó de atributo.
node()Combina com qualquer tipo de nó.

Na tabela abaixo, listamos algumas expressões de caminho e os resultados dessas expressões:
Expressões de caminho
resultado
/bookstore/*Escolhe todos os elementos infantis do elemento livraria.
//*Seleciona todos os elementos do documento.
título[@*]Seleciona todos os elementos do título com atributos.

Escolha vários caminhos

Usando "|" na expressão do caminho Operadores, vocês podem escolher vários caminhos.

Na tabela abaixo, listamos algumas expressões de caminho e os resultados dessas expressões:
Expressões de caminho
resultado
//book/title | //book/priceEscolhe todos os elementos de título e preço do elemento do livro.
título | preçoEscolha todos os elementos de título e preço no documento.
/bookstore/book/title | //priceSeleciona todos os elementos de título do elemento livro que pertencem ao elemento livraria, e todos os elementos de preço no documento.

Função XPath

A seguir está uma lista comentada de adições específicas do XPath ao XPath por funções principais do XPath e XSLT, incluindo descrições, sintaxe, listas de parâmetros, tipos de resultados e fontes nas recomendações correspondentes do W3C.

  • Booleano()
  • teto()
  • choose()
  • concat()
  • Contém()
  • contar()
  • atual() específico para XSLT
  • document() específico para XSLT
  • element-available()
  • false()
  • floor()
  • format-number() específico do XSLT
  • função-disponível()
  • generate-id() específico para XSLT
  • id()
  • chave() específico XSLT
  • lang()
  • last()
  • Nome-local()
  • Nome()
  • namespace-uri()
  • Espaço de normalização()
  • not()
  • número()
  • posição()
  • Round()
  • começa-com()
  • string()
  • comprimento da corda()
  • substring()
  • substring-after()
  • substring-antes()
  • sum()
  • System-property() específico do XSLT
  • translate()
  • true()
  • unparsed-entity-url() específico de XSLT

Provas práticas

Abra o Chrome e obtenha o conteúdo de texto de todos os links da aba A com o seguinte comando:
Como mostrado abaixo:



Referência:O login do hiperlink está visível.




Anterior:[Dramaturgo] (3) Testes automáticos para detectar exceções de erro
Próximo:.NET/C# chama o serviço de interface de tradução de texto Azure Translator
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com