タイトルの通りです。
やりたいことは、アリエクスプレスというサイトからショップの評価の数字を取得し、
その値が93以上かどうかを判別したいです。
python
1!pip install selenium 2 3from selenium import webdriver 4 5browser = webdriver.Chrome() 6browser.get('https://ja.aliexpress.com/item/4001017281680.html?aff_fcid=272ff68d04eb4b9997820f12af9b9e4b-1633494533717-03725-c4uxd3MG&aff_fsk=c4uxd3MG&aff_platform=link-c-tool&sk=c4uxd3MG&aff_trace_key=272ff68d04eb4b9997820f12af9b9e4b-1633494533717-03725-c4uxd3MG&terminal_id=6f0594ad961743a1b3d0874ed9831883') 7 8value = browser.find_element_by_class_name("store-container").find_element_by_tag_name('i').text 9value 10print(value) 11print(type('value') is str) 12 13#実行結果 1495.7% 15True 16
ここまではいいのですが、次のコードを入力するとエラーが出てしまいます。
調べたのですがなぜエラーになるのかが分かりませんでした。
python
1#文字列を数字に直したい 2print(float('value')) 3 4ValueError Traceback (most recent call last) 5~\AppData\Local\Temp/ipykernel_10536/1797220878.py in <module> 6 3 print(value) 7 4 print(type('value') is str) 8----> 5 print(float('value')) 9 10ValueError: could not convert string to float: 'value'
python
1#評価が93以上かどうかを判別したい 2if value > 93: 3 Tlue 4 5TypeError Traceback (most recent call last) 6~\AppData\Local\Temp/ipykernel_10536/4206106856.py in <module> 7----> 1 if value > 100: 8 2 Tlue 9 10TypeError: '>' not supported between instances of 'str' and 'int'
valueの値を数字に変換できれば、上記の評価数の判別もできると思うので、
変換の部分のみが分からないです。
https://teratail.com/questions/117085
ここに似たような質問があったのですが、csvからダウンロードしたデータの場合だったので、
今回とはちょっと違う原因なのかもしれないと思います。
また、replaceを使ってカンマを置き換えてみてもダメでした。
python
1value2 = value.replace(',', '') 2value2 3 4#実行結果 5'95.7%' 6 7print(float('value2')) 8 9ValueError Traceback (most recent call last) 10~\AppData\Local\Temp/ipykernel_10536/2928409899.py in <module> 11 5 value2 = value.replace(',', '') 12 6 value2 13----> 7 print(float('value2')) 14 15ValueError: could not convert string to float: 'value2'
アドバイスをよろしくお願いします。
#動作環境
Windows10
Python3.9 64bit
jupyter lab
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/16 06:40