Um pacote extremamente rápido para obter resultados de pesquisa do YouTube. Isso foi feito para Discord Bots.
npm install scrape-youtube --save
import { youtube } from 'scrape-youtube' ;
// const { youtube } = require('scrape-youtube');
youtube . search ( 'Short Change Hero' ) . then ( ( results ) => {
// Unless you specify a custom type you will only receive 'video' results
console . log ( results . videos ) ;
} ) ;
// or
const { videos } = await youtube . search ( 'Short Change Hero' ) ;
Os tipos suportados são: video
, live
, movie
, channel
, playlist
e any
. Esses tipos usam o parâmetro sp
. Se você passar seu próprio valor sp
ele substituirá os tipos. Consulte a seção "filtros personalizados" para obter mais informações.
youtube . search ( 'lofi hip hop beats to relax/study to' , { type : 'live' } ) . then ( ( results ) => {
console . log ( results . streams ) ;
} ) ;
Consulte o diretório de exemplos para obter exemplos de quais dados você receberá em cada pesquisa.
Seu IDE deve ter preenchimento automático que funcione com os arquivos de interface, mas eles estão aqui apenas para garantir.
Se você quiser ajuda para usar isso no Discord Bot, visite a página wiki para exemplos de TS/JS.
Observe que os "vídeos" listados nas respostas da lista de reprodução conterão apenas um ou dois itens. Isto é o que está disponível nos resultados da pesquisa.
Se você deseja carregar uma playlist inteira, considere usar ytdl-core.
Você pode passar { sp: 'ABC' }
como o segundo parâmetro para usar filtros personalizados como data de upload, duração, recursos etc.
Você mesmo precisará buscar o parâmetro SP no youtube. Por favor, veja esta imagem como exemplo.
Você pode passar { request: { } }
como o segundo parâmetro para usar um proxy, cabeçalhos personalizados, agentes etc.
Consulte http.request para obter mais informações.
const options = {
type : 'video' ,
request : {
headers : {
Cookie : 'PREF=f2=8000000' ,
'Accept-Language' : 'de'
}
}
} ;
youtube . search ( 'Poets of the fall' , options ) ;
Por exemplo, usar Cookie: 'PREF=f2=8000000'
ativará o modo restrito para filtrar vídeos com linguagem imprópria ou temas adultos.
Além disso, 'Accept-Language': 'de'
carregará o YouTube em alemão, às vezes resultando em títulos e respostas de conteúdo diferentes.
Você pode usar ytdl-core da fent para carregar informações extras, como datas exatas de upload, descrições completas, proporção de gosto/não gosto, anúncios em vídeo, etc.
Por favor, veja este exemplo no wiki para ver como.
Conforme mencionado na edição nº 57, alguns canais parecem ter a contagem de inscritos oculta. Nesse caso, o pacote terá como padrão 0.
Os identificadores de canal serão usados, se disponíveis. Alguns canais não possuem identificadores, se for esse o caso, o link do canal usará o ID antigo, por exemplo: /channel/12345
vs /@user
Recomendo manter o ID, pois os identificadores não são confiáveis.
any
tipo.Este projeto foi feito por Kain (ksir.pw). Sinta-se à vontade para entrar em contato comigo se tiver algum problema com este pacote.
Contribuições, problemas e solicitações de recursos são bem-vindos! Sinta-se à vontade para verificar a página de problemas.
Dê um ️ se esse projeto te ajudou!
Copyright © 2018 Kain (ksir.pw). Este projeto é licenciado pelo MIT.