この本で、実際コードを書きながら学習するのが終わりました。
は~難しかった!
そしてボリューミー。
メソッドがめちゃくちゃいっぱい出てきます。
すべて覚えるのは不可能だから、必要な時に逆引きして使うのがいいでしょう。
一応ひととおりコードは動いたので、私は「この本に書いていることはできる」という事になります。
( -`ω-)✧ドヤッ
エラーもたくさん出ましたが、だいたいスペルミスや、記号が抜けていたり、セレクタが間違っていたりですね。
うん、難しかったけど私のレベルに合っていた気がします。
この本を買ってよかった。
pandasのto_csvメソッドで、エクセルが文字化けしてしまう。
ただ一点だけ本のとおりにいかないところがありました。
pandasのto_csvメソッドでエクセルファイル(CSV)を保存するところ↓
エクセルファイルを保存するまではうまくいったのですが、エクセルファイルを開くと文字化けしています↓
これ、あとで原因がわかったのですが、to_csvメソッドの引数に「encoding=’utf-8-sig’」と書かなかったかららしいです。これはこの本には書いてません。
試しにto_csvメソッドの引数に「encoding=’utf-8-sig’」と書いて、実行してみると↓
文字化けが直りました!↓
というわけで、「to_csvメソッドでエクセルファイルに保存したけど、文字化けしている (>_<)」という方は、
to_csvメソッドの引数に「encoding=’utf-8-sig’」を追加しましょう。
スクレイピングで、エラーメッセージが出ないのにコードが動かない。
find()やselect()の、()内のセレクタが間違っていると、エラーメッセージすら出ずにコードが動かないのでご注意ください。
逆に言うと、
「エラーメッセージが出ないのにコードが動かない!」
という場合は、このセレクタが間違っているんじゃないかと疑った方がいいです。
read_textやwrite-text、read_htmlなど、似たようなメソッドがまぎらわしい。
本を進めていくと、read_textやwrite_text、read_htmlなど、似たようなメソッドがたくさん出てきてまぎらわしいです。
なのでちょっとまとめてみました。
大きく分けると、Pathオブジェクトのメソッドなのか、pandasのメソッドなのか、ですね。
read_text
Pathオブジェクトのメソッド。
HTMLファイルを読み込む。
write_text
Pathオブジェクトのメソッド。
HTMLをファイルで保存する。
write_bytes
Pathオブジェクトのメソッド。
画像ファイルなどを保存する。
mkdir
Pathオブジェクトのメソッド。
フォルダを作成する。
read_html
pandasのメソッド。
サイト内のtableタグをすべて取り出す。
to_csv
pandasのメソッド。
(上のread_htmlなどで取り出したtableタグを)csvファイルで保存する。
read_csv
pandasのメソッド。
csvファイルを読み込む。
この本で学んだことを活かして、何かスクレイピングをしたい。
この本で学んだことを活かして、何かスクレイピングをしたいと考えています。
何をしようか…。
- 不動産サイトから家賃などを取り出す。
- 複数の横浜ニュースサイトから、イベント情報を取り出してまとめる。
- コンビニサイト(セブン、ローソン、ファミマ)から、それぞれキャンペーン情報を取り出しまとめる。
どうせなら実生活に役に立つようなスクレイピングをしたいのですが、これが意外と難しい。
「普通にWebサイトを見たほうが早くね?」ってなってしまうんです。
なので実生活に役に立たなくてもいいから、とにかくスクレイピングをやってみることにしました。
もう何をするかは決まっています。
次回は実際にスクレイピングをしてみた解説になると思います。