質問: a.attrs["href"] print(b,"リンク→",c) ``` 上記内容の対処法、ご教授下さい。 ご解答よろしくお願いします。
回答: > > soup.select("a") だとちゃんと抽出してくれるのですが,idを指定して > > soup.select("a#video-title")やクラスを指定しての > > soup.select("a.yt-simple-endpoint style-scope ytd-video-renderer")だと何もかえってきません > > > 指定の仕方はあっています。だけど、そのIDやclassがHTML上に存在しないから取得できないだけです。 ``` url = "https://www.youtube.com/results?search_query="+keyword html = req.urlopen(url) ``` req.urlopenを使って、HTMLを取得してるからそのようにになるのだと思います。つまりこのスクリプトを実行してChromeが立ち上がって検索画面が表示されますが、`それとは別にreq.urlopenを使って、HTTPリクエストをなげてHTMLを取得してる` ので、画面で表示されてるHTMLと、実際にプログラムがBeatufiulSoupで解析してるHTMLが別ものだから、みつからないのだと思います。 > > URLにひらがなが入るとurlopen()の所でエラーが出てしまいます。 > > > 日本語のパラメータをURLエンコードしてあげてください。