youtubeで何か検索ワードを入力して、引っかかった動画のURLを取得したいです。
Beautiful soupを学ぶために以下のサイトを参考にしてコードを書いたのですが、文字列を取得することができません。
引用サイト
import requests from bs4 import BeautifulSoup headers = { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'} query = input('Enter the song to be played: ') query = query.replace(' ', '+') # search for the best similar matching video url = 'https://www.youtube.com/results?search_query=' + query source_code = requests.get(url, headers=headers, timeout=15) plain_text = source_code.text soup = BeautifulSoup(plain_text, "html.parser") songs = soup.select('.yt-simple-endpoint.inline-block.style-scope.ytd-thumbnail') for song in songs: print(song) link = song['href']
developerツールで動画URLに該当するところを調べると
<a id="thumbnail" class="yt-simple-endpoint inline-block style-scope ytd-thumbnail" aria-hidden="true" tabindex="-1" href="/watch?v=HBuvVIQia8s">
となっているので、
songs = soup.select('.yt-simple-endpoint.inline-block.style-scope.ytd-thumbnail')
と書いたのですがうまくいきません。
どのように書けばURLを取得できるか教えていただけないでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/21 15:27
2017/12/21 15:52
2017/12/21 15:55
2017/12/23 00:18
2017/12/23 06:44
2021/09/29 08:51