ヤフーニュースをWEBスクレイピング
解決したいこと
ヤフーニュースのトピックを抽出、出力したいのですが、エラーとなってしまいます。
解決方法を教えて下さい。
発生している問題・エラー
C:\python>test.py
Traceback (most recent call last):
File "C:\python\test.py", line 18, in <module>
print(data.span.string)
AttributeError: 'NoneType' object has no attribute 'string'
ソースコード
from bs4 import BeautifulSoup
import requests
import re
# アクセスするURL
url = 'https://news.yahoo.co.jp'
# webに接続する
response = requests.get(url)
# BeautifulSoupにヤフーニュースのページ内容を読み込ませる
soup = BeautifulSoup(response.text, "html.parser")
# ヤフーニュースの見出しとURLの情報を収集して出力する
data_list = soup.find_all(href=re.compile("news.yahoo.co.jp/pickup"))
for data in data_list:
print(data.span.string)
print(data.attrs["href"])
環境
■Pythonバージョン
3.10
■pip list
beautifulsoup4 4.10.0
certifi 2021.10.8
charset-normalizer 2.0.9
idna 3.3
lxml 4.7.1
pip 21.3.1
requests 2.26.0
setuptools 58.1.0
soupsieve 2.3.1
urllib3 1.26.7
0