แพ็คเกจที่รวดเร็วปานสายฟ้าเพื่อขูดผลการค้นหา YouTube สิ่งนี้สร้างขึ้นสำหรับ 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' ) ;
ประเภทที่รองรับ ได้แก่ 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
โปรดทราบว่า "วิดีโอ" ที่อยู่ในรายการตอบกลับของเพลย์ลิสต์จะมีเพียง 1-2 รายการเท่านั้น นี่คือสิ่งที่ได้จากผลการค้นหา
หากคุณต้องการโหลดเพลย์ลิสต์ทั้งหมด ให้พิจารณาใช้ ytdl-core
คุณสามารถส่ง { sp: 'ABC' }
เป็นพารามิเตอร์ตัวที่สองเพื่อใช้ตัวกรองที่กำหนดเอง เช่น วันที่อัปโหลด ระยะเวลา คุณลักษณะ และอื่นๆ
คุณจะต้องดึงพารามิเตอร์ SP ด้วยตนเองจาก youtube โปรดดูภาพนี้เป็นตัวอย่าง
คุณสามารถส่ง { 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 เป็นภาษาเยอรมัน ซึ่งบางครั้งส่งผลให้มีชื่อและเนื้อหาที่แตกต่างกันออกไป
คุณสามารถใช้ ytdl-core by fent เพื่อโหลดข้อมูลเพิ่มเติม เช่น วันที่อัปโหลดที่แน่นอน คำอธิบายแบบเต็ม อัตราส่วนการชอบ/ไม่ชอบ โฆษณาวิดีโอ ฯลฯ
โปรดดูตัวอย่างนี้ในวิกิเพื่อดูว่าทำอย่างไร
ตามที่กล่าวไว้ในฉบับที่ 57 บางช่องดูเหมือนจะซ่อนจำนวนสมาชิกไว้ ในกรณีนี้แพ็คเกจจะมีค่าเริ่มต้นเป็น 0
จะใช้ตัวจัดการช่องหากมี บางช่องไม่มีตัวจัดการ หากเป็นกรณีนี้ ลิงก์ช่องจะใช้ ID เก่า เช่น: /channel/12345
vs /@user
ฉันขอแนะนำให้ยึดติดกับ ID เนื่องจากตัวจัดการไม่น่าเชื่อถือ
any
โครงการนี้สร้างโดย Kain (ksir.pw) โปรดติดต่อฉันหากคุณมีปัญหากับแพ็คเกจนี้
ยินดีต้อนรับการมีส่วนร่วม ปัญหา และการร้องขอคุณสมบัติ! อย่าลังเลที่จะตรวจสอบหน้าปัญหา
ให้️ถ้าโครงการนี้ช่วยคุณได้!
ลิขสิทธิ์ © 2018 Kain (ksir.pw) โครงการนี้ได้รับอนุญาตจาก MIT