一個快速抓取 YouTube 搜尋結果的軟體包。這是為 Discord Bot 製作的。
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 中使用此功能的協助,請造訪 wiki 頁面以取得 TS/JS 範例。
請注意,播放清單回覆中列出的「影片」僅包含 1-2 個項目。這是從搜尋結果中可以獲得的內容。
如果您希望加載整個播放列表,請考慮使用 ytdl-core。
您可以傳遞{ sp: 'ABC' }
作為第二個參數來使用自訂篩選器,例如上傳日期、持續時間、功能等。
您需要自行從 youtube 取得 SP 參數。請參閱此圖片作為範例。
您可以傳遞{ request: { } }
作為第二個參數來使用代理、自訂標頭、代理程式等。
請參閱 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)。該計畫已獲得麻省理工學院許可。