python
1from bs4 import BeautifulSoup 2import json 3import requests 4 5target_url = "https://www.youtube.com/watch?v=dWuTh_BSmY4"#youtube_url 6dict_str = "" 7session = requests.Session() 8headers = {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'} 9 10html = requests.get(target_url) 11soup = BeautifulSoup(html.text, "html.parser") 12 13next_url = "https://www.youtube.com/live_chat_replay?continuation=op2w0wRaGlBDamdhRFFvTGJUaEhUbWRNV2toelREZ3FKd29ZVlVNeFJFTmxaRkpuUjBoQ1pHMDRNVVV4Ykd4TWFFOVJFZ3R0T0VkT1oweGFTSE5NT0NBQkABcgIIBHgB" 14 15html = session.get(next_url, headers=headers) 16soup = BeautifulSoup(html.text,"lxml") 17for scrp in soup.find_all("script"): 18 if "window[\"ytInitialData\"]" in scrp.text: 19 print("existed:window[\"ytInitialData\"]")
なし
beautifulsoupを扱えるよう学習している初学者です
最終的な達成目標としてはyoutube liveアーカイブのコメントの取得としています
soupの中身にwindow["ytInitialData"]の文字列が存在することはsoupの中身をテイストファイルに出力し確認しており、最後段のprint分でプログラム上でも認識できていることを確認したいのですが、出力されません。
なぜif文でこの特定の文字列を見つけられないのか、原因がわからず困っています。
ご教授いただけると幸いです。
なおここでソース上に掲載しているURLはニュースチャンネルのアーカイブであり、teratail上での掲載に差し支えないと判断し掲載しておりますが、念のため解決後にURL部分のみを訂正する予定です。
回答1件
あなたの回答
tips
プレビュー