該当コードを実行するにあたり
gan = {"{}".format(n):number += 1}
の行で構文エラーが出ているのですが
理想とする実行結果(下記記載)のような
######要素をスクレイピングする度にそれぞれにインデックス値も割り振る辞書
を作成するにはどのような方法を用いる必要がありますでしょうか?
タイトルに書いてある累算代入演算子と今回の質問の関係については、
僕が調べてみた結果、実行するのに一番適切な方法だと考えたためです。
ですが今回実行が上手く行かなかったため、累算代入演算子を用いた他の方法やまた別の手法を用いたアドバイスをご教示いただけると幸いです。
##該当コード
python
1import requests 2from bs4 import BeautifulSoup 3 4url = "https://appmedia.jp/pubg/1847028" 5r = requests.get(url) 6html_soup = BeautifulSoup(r.text,'html.parser') 7 8 9def gan(x): 10 show = '' 11 stwo = '' 12 #idの指定の際にはselectでcssセレクタで出力した方がいい 13 base = html_soup.select_one(f'#{x}').find_next_siblings('table') 14 #0のインデント指定は大切 15 for three in base[0].find_all('tbody'): 16 for four in three.find_all('td'): 17 for final in four.find_all('strong'): 18 n = final.get_text(strip=True) 19 #銃のタイトル HTML記述 20 s = print(n) 21 gan = {"{}".format(n):number += 1} 22 return final 23 24gan(x='SG') 25 26
###理想とする実行結果。
S12K
{'S12K': 0}
S1897
{'S1897': 1}
DBS★
{'DBS★': 2}
###現状
S12K
{'S12K': 0}
{'S12K': 1}
{'S12K': 2}
{'S12K': 3}
S1897
{'S1897': 0}
{'S1897': 1}
{'S1897': 2}
{'S1897': 3}
DBS★
{'DBS★': 0}
{'DBS★': 1}
{'DBS★': 2}
{'DBS★': 3}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/21 22:29