PythonでWebから自動でデータ抜き出す凄技の肝 URLの一覧を渡されたら一体どうしたらいいか
取得したテキストから数値だけを取り出す
22~26行目は取得したデータをDataFrameオブジェクト(表形式のデータ)に差し込んでいく処理です。ただし、取り出されるテキストは「価格:2,178円(税込)」のような形になっています。必要なのは数値だけなので、re.sub関数を使って数字以外を消し、「2178」だけを残します。
re.subは正規表現(さまざまな文字列を1つの文字列で表現すること)で置換する関数です。第1引数の「r"\D"」は数字以外の文字を表し、第2引数の「""」は空文字を表します。数字以外を空文字に置き換えるので、数字だけが残るというわけです。
行と列を指定してデータを入れる
22行目から26行目では、findメソッドで取得したデータを、DataFrameオブジェクトに入れるためにiloc属性を使っています。iloc属性は行と列のインデックス番号を指定して、特定のセルを取得/設定します。
今回の場合、行のインデックス番号は変数indexに入っているものを使い、columns.get_locメソッドで列名から列のインデックス番号を調べています。
最後にto_excelメソッドでExcel ファイルに上書き保存して完了です。
無料会員登録はこちら
ログインはこちら