出力されたエラーに対して、コードをどう変更すればいいのかわかりません。
取得したい情報に対してどのようにコードを入力すればいいのか教えてください。
情報を取得したいwebサイト
https://www.technique.co.jp/items.html?target=label&range=all&q=Pinkman
取得したい情報
アーティストの名前
解説(ソースコードclass=item_navi_shouhin_kaisetsu_txt03)の部分
python
1from time import sleep 2from bs4 import BeautifulSoup 3import requests 4import pandas as pd 5 6url = "https://www.technique.co.jp/items.html?target=label&range=all&q=Pinkman?page={}" 7d_list = [] 8 9for i in range(1, 21): 10 target_url = url.format(i) 11 print(target_url) 12 13 r = requests.get(target_url) 14 sleep(1) 15 16 soup = BeautifulSoup(r.text) 17 18 contents = soup.find_all('table', class_='item-list-table') 19 for content in contents: 20 detail = content.find('div', class_='clearfix') 21 name = detail.find('a', class_='mnex_float_btn_parent') 22 describe = detail.find('p', class_='item_navi_shouhin_kaisetsu_txt03') 23 d = { 24 'name': name.text, 25 'describe': describe.text, 26 } 27 28 d_list.append(d) 29 30 df = pd.DataFrame(d_list)
出力されたエラー
Traceback
1 File "/Users/user/スクレイピング/pinkman.py", line 21, in <module> 2 name = detail.find('a', class_='mnex_float_btn_parent') 3AttributeError: 'NoneType' object has no attribute 'find' 4 5 df.to_csv('pinkman.csv', index=None, encoding='utf-8-sig')