【Python】Webスクレイピング「私の失敗談」🐍機械学習やろうよ!【第1回】
Pythonでバカが出たぞ!
それ私です。
この😈地獄をあなたに無料でスキルシェア♬
お世話になっております。
合同会社ムジンケイカクプロ、代表のムジンです。
【Python】🐍機械学習やろうよ!機械学習で😱困ったことと私の解決方法【サンプル有】【第0回】
お借りしたイラストは、こするですね。
こする、、、
Webスクレイピング
えー、まぁその、私はそんなに頭がよろしくないというか、バカというか、まぁそれなんですよ。
ハハハ、、、
これが前提にお読みくださいね。
それで、競輪予想なんていうものを、機械学習でやってまして、予測が定期的に世の中に出せる寸前でございまして。
ギャンブルもタバコも風俗もやらんけど、気になったのが競輪予想なんだからしょうがない。
※お酒はたまに。
私は大量のデータをExcelで扱うのが上手い方なのですが、Pythonでもそれをやりはじめまして。
データを集めないと、機械学習もなにもない。
これからWebスクレイピングをおやりになる方に、経験からのアドバイスなんてなものをですね、ちょこっと。
そもそもPHPでWebスクレイピングをやろうとした失敗
Pythonで機械学習するので、PHPでやる必要がないのですが、低レベルなりにPHPばっかりやってた時期がございましてね。
Pythonの方が、データの扱いが得意ですよ、これは。
なんでPHPでやろうとしたか、正気ではない。
その時点で二度手間だ。
でかいデータをいきなり集めた失敗
小さいデータでコツコツやってたんですけど、だんだん他の業務が忙しくなって、大雑把にデータを集めはじめまして。
自動で放置しておいて、データを見てみると、スクレイピングできてないデータがぽつぽつ混ざっていて、ExcelVBAで整形する時にエラーが頻発。
全体のデータの集め直しは2回、2年分。
この時、いつも走り込みしている横の川に、全速力で飛び込もうかと思った。
小さいデータで、データ傾向の分析から仮定を作って、大きなデータを集めても遅くない。
というか、速い。
CSVに直接変換してしまった失敗
ただですね、最初から、全体的に上手く行っているんですよ、Webスクレイピングが。
ここが私の悪いところで、最初からある程度はできるが、それが故に基本をよく知らない。
そのため、すぐできる技術を集めた作業フローにすると、PythonからCSVに加工して出力、データのマージは、バッチ処理からExcelVBAの形式だったんです。
が、だんだんPythonも扱えるようになってくると、ExcelVBAは最低限になってきて、、、
Excelが、重い、遅い、開かない、壊れる。
accessと連携していないと、あるデータ数からは読み込めませんが、access連携でも時間がかかる。
今はPythonでソートもマージもやっておいて、目で見て整形したい部分だけ、ExcelVBAに残しました。
そう、最初から、HTMLとしてローカルにスクレイピング対象ページをダウンロードしておいて、今はローカルのHTMLをオフラインのブラウザでスクレイピングし、CSV化する。
オンラインとオフラインの失敗
最後にダウンロードしたHTMLからスクレイピングするんですが、ヘッダー部分にURL入っていたりしますよね。
これを読みだした時に、外部にアクセスしてしまう。
JavaScriptの無効化は既にしていたけれど、これがなければ、もっと早く処理していい。
print('有線をオフにしてください')
これをプログラムの頭にいれて、注意するように。
仮想環境のUbuntuで、有線接続をOFFにしてから、CSV化することにしました。
最後に
あ、ちょっと目から汗が出そうです、、、
最初からこうすれば、、、
まぁ、皆様はこんなことでハマらないとは思うんですが、いやー、えへへへへへへへへへ、、、
あ、ちょっと目から汗が出そうです、、、
いつもお読みいただき、ありがとうございます。 書くだけでなく読みたいので、コメント欄で記事名入れてもらうと見に行きます。