前提・実現したいこと
TypeScriptでYoutubeLiveのコメントを取得できるプログラムを作っています。
まずはAxios を使ってYoutubeのサイトのソースコードをとってきたいのです。
Promiss内でconsole.log()
を使ってソースコードを書き出すことができました。
しかしそのソースコードを変数に代入して、Promiss外へ値を取り出すためにはどうすればいいですか?
console.log で表示させるだけ
typescript
1import axios from 'axios' 2 3const user_agent = `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100`; 4let channel_id = "HpdO5Kq3o7Y"; 5let live_chat_url = `https://www.youtube.com/live_chat?v=${channel_id}&is_popout=1`; 6 7const res = async () => { 8 await axios.get(live_chat_url, { 9 headers: { 'User-Agent': user_agent }, 10 }).then(response => { 11 console.log(response.data) 12 }) 13}; 14 15res() 16
ターミナルの表示
(Youtubeのソースコードが出力される)
エラーが出るが、このように comment 変数に代入したい
TypeScript
1import axios from 'axios' 2 3const user_agent = `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100`; 4let channel_id = "HpdO5Kq3o7Y"; 5let live_chat_url = `https://www.youtube.com/live_chat?v=${channel_id}&is_popout=1`; 6 7const res = async () => { 8 await axios.get(live_chat_url, { 9 headers: { 'User-Agent': user_agent }, 10 }) 11} 12 13let comment = res.data
エラーメッセージ
scrape.ts:13:19 - error TS2339: Property 'data' does not exist on type '() => Promise<void>'. 13 let comment = res.data
参考サイト
あなたの回答
tips
プレビュー