質問: extract_pick_up() print(columns) ``` 変数soupの中にページのHTMLファイルが入ってくるところまでは確認できております。 問題はsoup.find_all("li")も値が入ってきているのは確認できているのですがクラスを指定すると値が持ってこれなくて困っております。 下記を試してみましたが値を取得できませんでした。 class_="item.js-item.js-tiled" class_="item js-item js-tiled" class_="item js-item" jsと書いてあるので何かjavascriptを読み込むような指定が必要なのでしょうか? すいませんがどなたかご教授お願いいたします。
回答: class名はitem,js-item,js-tiledの3つ別々の名前になりどれを選んでも大丈夫です。 li.item li.js-item li.js-tiled 3つ全部のクラス名の場合は soup.select('li.item.js-item.js-tiled') でいけます。 どうもクラス名が複数ある場合はCSSセレクタで選択するのがベストのようです。 js-tiledはJavascriptレンダリング時に追加されるようですので CSSセレクタの場合は soup.select('li.item.js-item') find_allの場合は soup.find_all('li', class_='item js-item ') あとこういう方法もあるようです。 Beautifulsoup複数クラスセレクタ https://code.i-harness.com/ja/q/267040e