一个快速抓取 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)。该项目已获得麻省理工学院许可。