YouTube の検索結果を収集するための超高速パッケージ。これは Discord ボット用に作成されました。
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' ) ;
サポートされているタイプは、 video
、 live
、 movie
、 channel
、 playlist
、およびany
です。これらの型はsp
パラメータを使用します。独自のsp
値を渡すと、型が上書きされます。詳細については、「カスタム フィルター」セクションを参照してください。
youtube . search ( 'lofi hip hop beats to relax/study to' , { type : 'live' } ) . then ( ( results ) => {
console . log ( results . streams ) ;
} ) ;
各検索からどのようなデータを受け取るかの例については、サンプル ディレクトリを参照してください。
IDE にはインターフェイス ファイルで動作するオートコンプリート機能が備わっている必要がありますが、これらは念のためここにあります。
Discord Bot でこれを使用する際のヘルプが必要な場合は、TS/JS の例についての wiki ページを参照してください。
プレイリストの応答にリストされる「ビデオ」には 1 ~ 2 つのアイテムしか含まれないことに注意してください。検索結果から出てくるのはこれです。
プレイリスト全体をロードしたい場合は、ytdl-core の使用を検討してください。
{ sp: 'ABC' }
2 番目のパラメータとして渡すと、アップロード日、期間、機能などのカスタム フィルタを使用できます。
SP パラメータは YouTube から自分で取得する必要があります。例については、この画像を参照してください。
{ request: { } }
2 番目のパラメータとして渡すと、プロキシ、カスタム ヘッダー、エージェントなどを使用できます。
詳細については、http.request を参照してください。
const options = {
type : 'video' ,
request : {
headers : {
Cookie : 'PREF=f2=8000000' ,
'Accept-Language' : 'de'
}
}
} ;
youtube . search ( 'Poets of the fall' , options ) ;
たとえば、 Cookie: 'PREF=f2=8000000'
を使用すると、制限付きモードが有効になり、不適切な言語やアダルト テーマを含むビデオが除外されます。
さらに、 'Accept-Language': 'de'
指定すると、YouTube がドイツ語で読み込まれ、異なるタイトルやコンテンツの応答が返されることがあります。
fent の ytdl-core を使用して、正確なアップロード日、完全な説明、好き/嫌いの比率、動画広告などの追加情報を読み込むことができます。
その方法については、Wiki のこの例を参照してください。
問題 #57 で述べたように、一部のチャンネルでは登録者数が非表示になっているようです。この場合、パッケージはデフォルトで 0 になります。
利用可能な場合は、チャネル ハンドルが使用されます。一部のチャネルにはハンドルがありません。この場合、チャネル リンクは古い ID を使用します。例: /channel/12345
と/@user
ハンドルは信頼できないため、ID を使用することをお勧めします。
any
タイプを使用する場合でも、検索ごとに1 つのリクエストのみを行います。このプロジェクトはKain (ksir.pw)によって作成されました。このパッケージに関して問題がある場合は、お気軽にご連絡ください。
貢献、問題、機能のリクエストは大歓迎です。気軽に問題ページをチェックしてください。
このプロジェクトが役に立った場合は ️ をあげてください!
著作権 © 2018 カイン (ksir.pw)。このプロジェクトは MIT ライセンスを受けています。