###前提・実現したいこと
スクレイピングした文字列を数値として格納しようとしています。
例えば、表示では「1,280」(文字列)となっているものを「1280」(数値)、またカンマのない「520」(文字列)も[520」(数値)として格納したいです。
可能性としてスクレイピング先の価格表示が「1,280円」もしくは「¥520」のように前後に円や¥がついている可能性があり、それらを削除する方法も探しています。
###発生している問題・エラーメッセージ
UnicodeEncodeError: 'decimal' codec can't encode character u'\uffe5' in position 0: invalid decimal Unicode string
###該当のソースコード
python
1# Product price 2 elem = driver.find_element_by_xpath('//*[@id="goodprice"]') 3 price = elem.text.strip()//ここの時点で「¥1,280」が変数に入っています。
###試したこと
以下の例を参考にしてみたのですが、また別にエラーが起こってしまったようでした。
似たようなエラーが起こっていた例
コード
python
1 elem = driver.find_element_by_xpath('//*[@id="goodsprice"]') 2 price = elem.text.strip() 3 # find all characters in the string that are numeric. 4 m = re.search(r'\d+', price.unicode_markup) 5 numeric = m.group() # retrieve numeric string 6 editedprice = int(numeric) 7
エラー
m = re.search(r'\d+', price.unicode_markup) AttributeError: 'unicode' object has no attribute 'unicode_markup'
###補足情報(言語/FW/ツール等のバージョンなど)
Python 2.7.12
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/01/23 05:31 編集
2018/01/23 05:31
2018/01/23 05:42 編集