Python初心者です。
入門書や初心者向けの解説サイトでスクレイピングを勉強したので、cnnのwebサイトから最新のニュースタイトルとそのURLをスクレイピングしてcsvデータに整理する、というプログラムを書いてみようと思います。
HTMLデータの取得まではできるのですが、肝心のニュースタイトルとURLがうまく抜き出せず困っています。
python
1from bs4 import BeautifulSoup 2import requests 3 4html_doc = requests.get('https://edition.cnn.com').text 5soup = BeautifulSoup(html_doc, 'html.parser') 6print(soup.prettify())
このようにBeautifulSoupとrequestsを使ってHTMLを書き出すところまではできます。
しかし、ここでprint(soup.find('a'))を入力しても以下のようなニュースタイトルとURLの部分が見当たりません。
divがたくさん入れ子になっているから無理なのでしょうか?
何かヒントをいただけると嬉しいです。よろしくお願いいたします。
--追記--
soup.find_all('h3', {'class': 'cd__headline'})
とやってもダメでした。class名の_の数を間違えているのでしょうか?
カウント方法をご存知でしたら教えていただきたいです。
過不足のないよい質問文ですね。
「CNNのサイト」にURL記法でリンクを張るとさらに親切になります。
回答2件
あなたの回答
tips
プレビュー