Script Schema Capture

PHOTO EMBED

Sun Apr 07 2024 19:32:46 GMT+0000 (Coordinated Universal Time)

Saved by @harlanecastro

Array.from(document.querySelectorAll('[itemtype="http://schema.org/Organization"]'))
.map(x => { 
    return `"${x.querySelector('[itemprop="url"]').href}", "${x.querySelector('[itemprop="name"]').innerText}", "${x.querySelector('[itemprop="addressLocality"]').innerText}", "${x.querySelector('[itemprop="addressRegion"]').innerText}", "${x.querySelector('[itemprop="telephone"]').innerText}"`;
}).reduce((a,b) => a + '\n' + b, '')
content_copyCOPY

O código apresentado é um script JavaScript destinado a ser executado no console do navegador. Ele é projetado para capturar informações de organizações listadas em uma página da web que utiliza a marcação de dados estruturados segundo o Schema.org para organizações. O script executa os seguintes passos: 1. **Seleção de Elementos**: Utiliza `document.querySelectorAll('[itemtype="http://schema.org/Organization"]')` para selecionar todos os elementos HTML que representam organizações de acordo com o Schema.org. Cada um desses elementos deve ter o atributo `itemtype` definido como `"http://schema.org/Organization"`. 2. **Mapeamento dos Elementos**: Para cada elemento selecionado, o script extrai informações específicas utilizando `querySelector` para selecionar subelementos baseados em seus atributos `itemprop`. As informações extraídas para cada organização incluem: - URL da organização (`[itemprop="url"]`) - Nome da organização (`[itemprop="name"]`) - Localidade do endereço (`[itemprop="addressLocality"]`) - Região do endereço (`[itemprop="addressRegion"]`) - Telefone (`[itemprop="telephone"]`) 3. **Formatação das Informações**: As informações extraídas são formatadas como strings, onde cada peça de informação é envolvida em aspas duplas (`"`) e separadas por vírgulas. Cada organização é convertida em uma string contendo suas informações relevantes, conforme o mapeamento. 4. **Redução e Concatenação**: Utilizando o método `reduce`, o script concatena todas as strings resultantes do passo de mapeamento, inserindo uma quebra de linha (`\n`) entre cada uma. Isso resulta em uma string única que contém todas as informações coletadas, separadas por linhas, prontas para serem copiadas ou processadas. O resultado final é uma lista de organizações (cada uma em uma nova linha) com suas respectivas URL, nome, localidade do endereço, região do endereço e telefone, todas encapsuladas entre aspas e separadas por vírgulas, pronta para uso em outros contextos, como a importação em uma planilha ou base de dados.