ド素人がPythonでWebスクレイピングに挑戦してみました。ただいまPython歴6時間目です(ぉ
勉強しようと思い立ったのが今日の朝のことだったので、ぶっちゃけプログラミングのことまったく分かりません。ほとんどコピペですしね。
目的
Pythonとの出会いと目的達成までの簡単な流れです。
Pythonとの出会い
もともと人工知能とかIoTとかの技術に興味があって、それについてぼへーっと調べてたら『Pythonすごいぞ』みたいな書き込みを見つけて『よーし、やってみるか〜』と一念発起したという流れです。
そもそもPythonって何ができるのかもよく分からなかったので、天下のGoogleで検索でし。
『人工知能や機械学習のソフト開発ができるよ〜1』
『IoTシステムの開発ができるよ〜』
『Webアプリ開発できるよ〜』
『ロボット制御できるよ〜』
なんかよう分からんけど「すげえ」ってなりましたです、はい。
知らなかったんですけど、YouTubeやInstagram、DropBoxもPythonを使って開発されてたんですね。すげえ。
中でも興味が惹かれたのは、
Pythonのスクレイピングという技術を使えば、自動でネット上のデータを取得することができる2
という一文。スクレイピングってのは、ざっくり言うと"自動でWebサイトにアクセス→インターネット上の情報を取得、ダウンロードできる技術"のことです。
『あれ?これできたら日々の単純作業を自動化できるんじゃ?』と気づいたわけですね。
Googleの検索結果を自動で引っ張ってきてほしい
サイトをいくつか運営している身なので、コンテンツ作成に伴うリサーチ作業が楽になると嬉しいのですよ。
これがとりあえずの目的でしたね。
さてゼロからのスタートとなるわけですが、まず何からやったらいいんだ???
Kindleのサンプル本で予備知識をゲット
何にせよ独学でやっていくつもりだったので、勉強用のPython関連本を漁りつつ、Kindleのサンプル本で情報収集です。
『これは素人でも分かりやすそうだな』って思ったのは以下の3冊でした。
直感で気になっただけなので、興味がある方はぜひサンプル見て決めてください。
プログラミングのプも知らないド素人だけどPythonにリサーチ手伝ってもらうぐらいまでなら独学でなんとかなるやろ(ハナホジ pic.twitter.com/DCuJpXL8EX
— あめぎ (@ameyohure) 2019年5月22日
完全に頭悪いツイートですが、このような発言にもお優しい対応が返ってくるのがTwitterです。神アプリ。
ライブラリとか、解説記事とかが充実してますからね!困りごとも調べるとすぐ見つかるのでやりやすいです!
— ほけきよ (@hokekiyoo) 2019年5月22日
したいことはスクレイピングやろしワイの記事読めhttps://t.co/XvOh8QfrGc
— コリさん@保活広場開発者 (@1042limit) 2019年5月22日
コリさんはすでに僕がスクレイピングしたいただの素人だということに気づかれたご様子。さすがでございます。
どうやら「BeautifulSoup」というものが必要なようですね。なんだ、その美味しそうな名前のやつ。
Python導入編
僕自身、何が何やら分かっていない状態で進めていったので、ここではあえて誤解を避けるために説明を極力省きます。
このサイトの手順通りに進めていきました。Xcodeをインストールし、Homebrewをインストールし、Pyenvをインストール。
っと、ここで問題が発生。PyenvってのはPythonのバーションを切り替えるためのツールなんですが——。
Pyenvを使ってPythonの本体をインストールしようとしてもエラー吐いちゃって、どうにもダメ。ここはSDKヘッダーのインストール(環境 macOS Mojave)で解決しました。
BeautifulSoup導入
Pythonで遊ぶ
PythonとBeautifulSoupの導入が終わったところで、ちょっとお遊び。
コリさんの!恋愛で使えるPython choice()でつまらない男から脱出するとか、Pythonで計算機を作るとかでテキトーに遊んでみて『おー、Python、Python』とモチベをあげました。
とりあえずなんでもいいので動かしてみると自己肯定感がちょっとあがって、なんとなくできる気がしてきます。こういう未知の領域は"とりあえずやってみる"のがおすすめ。
メインの目的へ
当初の目的である、Google検索結果のスクレイピングでし。これも方法は探せばあるんですねー。
ほとんどコピペで、あとはここまでで得た知識を総動員させて、何度も何度もトライアンドエラーで進めていきました。
これらの記事を参考に、なんとか最後までやり遂げました。たくさんターミナルちゃんに怒られちゃったよ、てへぺろふぁっきん!
やっと任意のクエリのGoogle検索結果(タイトル/URL/見出し/キーワード)をスクレイピングしてスプレッドシートに自動記入まで無事にたどり着けた〜!目標達成だ、やったー!ズブの素人でもコピペと気合いで大抵のことはどうにかなりそうと実感した優秀なPythonセンパイ
— あめぎ (@ameyohure) 2019年5月22日
まとめ
「Google検索結果の10位ぐらいまでのタイトルや見出しを自動で調査して、傾向を掴めばコンテンツ作りの助けになるかもしれない」
という目的でPython弄りはじめたんですが、よくよく考えたら記事の中身見ないと表面上の傾向だけ分かってもどうしようもありませんでしたッ!悔しいですッ!!
ただ、Pythonを使いこなせればしょーもない作業とか自動で任せられそうな未来が見えたので、これからもゆるゆる遊びながら勉強していくつもりです。
『今日からPythonはじめたド素人でも、がんばれば一日でプログラミングっぽいことできるよ〜』という報告でした◎
anaconda
ほけきよさんから「anaconda便利だよ」とアドバイス頂き、さっそく導入しました!ありがとうございます〜
pyenvいれたなら、通常のpythonじゃなく、anacondaつかうと、はじめからよく使うライブラリが色々入ってて結構便利ですよ!bsも入ってたような。
— ほけきよ (@hokekiyoo) 2019年5月22日
『あれ…conda commad効かねぇな』ってとき
ほけきよ(@hokekiyoo )さんにアドバイスいただきanacondaを無事に入れました あれ…conda commad効かねぇな って思ってたらパスの問題だったっぽい 解決してよかった 参考 https://t.co/IafcCTZEWJ
— あめぎ (@ameyohure) 2019年5月22日