Executando verificação de segurança...
5

Criando Open Graph Scraper com Go

Olá, estou fazendo meu primeiro projeto em go open source, e resolvi fazer um projeto bem simples: uma cli que pega as informações disponíveis através do Open Graph dos sites, como nome, logo, descrição, e adicionando logos dentro de um json, para usar futuramente em outros projetos meus, abaixo está um exemplo:

Input

https://www.tabnews.com.br/marlon/ajuda-sujestao-de-conteudos-de-golang

Output

Logo: https://i.imgur.com/O5OOa3s.png
Website name: tabnews
Image:https://www.tabnews.com.br/api/v1/contents/marlon/ajuda-sujestao-de-conteudos-de-golang/thumbnail
Page Name:[Ajuda] Sujestão de conteúdos de Golang · marlon
Page Description: Olá TabNews, estou querendo aprender Golang, vejo que é uma linguagem muito boa para trabalhar com DevOps e considerada muito rápida e fácil. Gostaria de pedir ajuda aos universitários co...

Quem quiser contribuir o link é https://github.com/pedrosouza458/go-open-graph-scraper

Carregando publicação patrocinada...
4

Hehe, pegou meu post!

Dei uma olhada no repo e achei um if hardcoded na logo, não sei se refere em específico ao site, ou a publicação, no TabNews tem o metadado og:image que retorna o título do post e algumas informações.

Exemplo deste post:

<meta property="og:image" content="https://www.tabnews.com.br/api/v1/contents/souzax/open-graph-scraper-com-go/thumbnail">

thumb

Obs.: Medium também tem!

1

hehehe, ótimo post por sinal, e o if vai ser subsituido por um json com os domínios e seus logos, vou botar na nuvem, obrigado pelo feedback. tipo isso:

{
 {
 "domain": "https://tabnews.com",
 "logo": "url da logo"
 },
 {
 "domain": "https://medium.com",
 "logo": "url da logo"
 },
}
1
2

Também acho muito legal! estou estudando Go e Rust, que pra mim são as linguagens mais legais atualmente, se puder deixa um like no github e futuramente contribuir eu agradeço :)

1
1

claro, pretendo manter assim pois a ideia é ser simples mesmo, to colocando uma ferramenta pra gerar templates HTML a partir dos dados também, e vou implementar testes.