最近、Pythonで久々にスクレイピングしていました。思い出しがてらいろいろ調べたので、メモがわりにここに残しておきます。本当に初心者級の基本を調べるところから始めましたが、2時間ぐらいで目的は達成しました。
スクレイピングの基本
BeautifulSoupでHTMLをパースする
HTMLの取得・パースは、BeautifulSoupが神です。これを使えばとりあえず問題ないです。
【保存版】Pythonでスクレイピングする方法を初心者向けに徹底解説!【サンプルコードあり】 | DAINOTE
CSV出力
URLリストの読み込みや、スクレイピング結果の出力にはCSVで。CSVを取り扱う基本的な操作を習得しましょう。データ処理するなら、pandasが良いです。
CSVにデータを書き込むときに、空行が勝手に出力されて困っていましたが、これで解決。
文字列演算
スクレイピングと関係ないといえば関係ないのですが、URLを加工したりCSV出力時のファイル名を生成するのに、文字列加工が必要だったので。
Pythonで文字列を連結・結合(+演算子、joinなど) | note.nkmk.me
Pythonなどのプログラミングを覚えるといろんなことができるようになる
Pythonとかプログラミング言語をちょっとでも覚えておくと良いのは、こういう単純作業を、効率的にできるからです。今回は2時間ぐらいかかりましたが、一方で手作業でページアクセスしてコピペしていたら3時間以上はかかったでしょう。
そして一度覚えれば、またコマンドを思い出したりは必要ですが、原理的なものはすぐに思い出せます。
こういう本でスクレイピング&クローリングを学ぶと良いです。
[amazon_link asins=’4297107384′ template=’Original’ store=’tob-22′ marketplace=’JP’ link_id=’d1b5b334-f1a6-4598-bf69-6c7cc46663da’]
あるいはPythonでの自動化という広い意味であれば、こういう本も良いのではないでしょうか。
[amazon_link asins=’487311778X’ template=’Original’ store=’tob-22′ marketplace=’JP’ link_id=’7d0bac76-99f8-4275-8482-c752c38afaa8′]
今回はスクレイピングの例だけでしたが、Pythonはデータサイエンスや機械学習も盛んになっています。データを分析するなら、こういうネタを勉強するのも良いと思います。
Pythonで機械学習:scikit-learnで学ぶ識別入門
[amazon_link asins=’4295003379′ template=’Original’ store=’tob-22′ marketplace=’JP’ link_id=’c7a53c79-b07c-47ac-b819-ee2f4b34eda6′]