3
私はプログラミングにとても慣れていて、自分自身でPythonでウェブスクレイピングを始めました。 サイトの複数のページからプレーヤーのデータを掻き集め、次のプレイヤーのページに移動するための 'next'ボタンのhrefをスクラップするwhileループを作成しました。 最後のプレーヤーが利用可能になった後にwhileループを解除する以外は、すべてうまくいきます。 'next'ボタンは灰色で表示され、その背後にはリンクがないため、繰り返しを停止してすべてをcsvに保存します。NoneTypeの変数をチェックしてwhileループを中断する
私のスクリプトは次のようになります。私はそのためのチェックが破断「Noneです」が、私はこのエラーを取得し、取得したのhrefが空の場合、私がチェックできると思っていた
#name base url and first page to start
BaseUrl = #url
PageUrl = #also url
while True:
#scraping tables
try:
# retrieve link for 'next' player in order
link = soup.find(attrs={"class": "go_to_next_player"}).get('href')
# join base url and new link href
PageUrl = BaseUrl + link
if link is None:
break
except IndexError as e:
print(e)
break
#writing to csv
:
In line > PageUrl = BaseUrl + link
TypeError: must be str, not NoneType
大歓迎です!私はこれに非常に新しいので、私の初心者のコードを無視してください。
なぜだけではなく、 'リンクがNone場合:' link'の利用上記break'? – BallpointBen
これは実際にOPの希望の答えに似ているように見えるので、実際にはより良い答えになります。私はこのように読みやすくするために書きました。 –