【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化することにしました。

最後に

あ、ちょっと目から汗が出そうです、、、

最初からこうすれば、、、

画像3

まぁ、皆様はこんなことでハマらないとは思うんですが、いやー、えへへへへへへへへへ、、、

あ、ちょっと目から汗が出そうです、、、

【Python】機械学習環境の準備は6秒!Colaboratory編🐍機械学習やろうよ!【第2回】

いつもお読みいただき、ありがとうございます。 書くだけでなく読みたいので、コメント欄で記事名入れてもらうと見に行きます。