Web・ガジェット

プログラミング素人がPythonでWebスクレイピングに挑戦した結果

投稿日:2019年5月22日 更新日:

ド素人がPythonでWebスクレイピングに挑戦してみました。ただいまPython歴6時間目です(ぉ

勉強しようと思い立ったのが今日の朝のことだったので、ぶっちゃけプログラミングのことまったく分かりません。ほとんどコピペですしね。

目的

任意の検索クエリのGoogle検索結果(タイトル/URL/要約文/タグ/キーワード)を10位まで自動でまとめていただきたい

Pythonとの出会いと目的達成までの簡単な流れです。

Pythonとの出会い

もともと人工知能とかIoTとかの技術に興味があって、それについてぼへーっと調べてたら『Pythonすごいぞ』みたいな書き込みを見つけて『よーし、やってみるか〜』と一念発起したという流れです。

そもそもPythonって何ができるのかもよく分からなかったので、天下のGoogleで検索でし。

『人工知能や機械学習のソフト開発ができるよ〜1
『IoTシステムの開発ができるよ〜』
『Webアプリ開発できるよ〜』
『ロボット制御できるよ〜』

なんかよう分からんけど「すげえ」ってなりましたです、はい。

知らなかったんですけど、YouTubeやInstagram、DropBoxもPythonを使って開発されてたんですね。すげえ。

中でも興味が惹かれたのは、

Pythonのスクレイピングという技術を使えば、自動でネット上のデータを取得することができる2

という一文。スクレイピングってのは、ざっくり言うと"自動でWebサイトにアクセス→インターネット上の情報を取得、ダウンロードできる技術"のことです。

『あれ?これできたら日々の単純作業を自動化できるんじゃ?』と気づいたわけですね。

Googleの検索結果を自動で引っ張ってきてほしい

サイトをいくつか運営している身なので、コンテンツ作成に伴うリサーチ作業が楽になると嬉しいのですよ。

任意の検索クエリのGoogle検索結果(タイトル/URL/要約文/タグ/キーワード)を10位まで自動でまとめていただきたい

これがとりあえずの目的でしたね。

さてゼロからのスタートとなるわけですが、まず何からやったらいいんだ???

Kindleのサンプル本で予備知識をゲット

何にせよ独学でやっていくつもりだったので、勉強用のPython関連本を漁りつつ、Kindleのサンプル本で情報収集です。

『これは素人でも分かりやすそうだな』って思ったのは以下の3冊でした。

直感で気になっただけなので、興味がある方はぜひサンプル見て決めてください。

完全に頭悪いツイートですが、このような発言にもお優しい対応が返ってくるのがTwitterです。神アプリ。

コリさんはすでに僕がスクレイピングしたいただの素人だということに気づかれたご様子。さすがでございます。

どうやら「BeautifulSoup」というものが必要なようですね。なんだ、その美味しそうな名前のやつ。

Python導入編

僕自身、何が何やら分かっていない状態で進めていったので、ここではあえて誤解を避けるために説明を極力省きます。

このサイトの手順通りに進めていきました。Xcodeをインストールし、Homebrewをインストールし、Pyenvをインストール。

っと、ここで問題が発生。PyenvってのはPythonのバーションを切り替えるためのツールなんですが——。

Pyenvを使ってPythonの本体をインストールしようとしてもエラー吐いちゃって、どうにもダメ。ここはSDKヘッダーのインストール(環境 macOS Mojave)で解決しました。

BeautifulSoup導入

Pythonで遊ぶ

PythonとBeautifulSoupの導入が終わったところで、ちょっとお遊び。

コリさんの!恋愛で使えるPython choice()でつまらない男から脱出するとか、Pythonで計算機を作るとかでテキトーに遊んでみて『おー、Python、Python』とモチベをあげました。

とりあえずなんでもいいので動かしてみると自己肯定感がちょっとあがって、なんとなくできる気がしてきます。こういう未知の領域は"とりあえずやってみる"のがおすすめ

メインの目的へ

当初の目的である、Google検索結果のスクレイピングでし。これも方法は探せばあるんですねー。

ほとんどコピペで、あとはここまでで得た知識を総動員させて、何度も何度もトライアンドエラーで進めていきました。

これらの記事を参考に、なんとか最後までやり遂げました。たくさんターミナルちゃんに怒られちゃったよ、てへぺろふぁっきん!

まとめ

「Google検索結果の10位ぐらいまでのタイトルや見出しを自動で調査して、傾向を掴めばコンテンツ作りの助けになるかもしれない」

という目的でPython弄りはじめたんですが、よくよく考えたら記事の中身見ないと表面上の傾向だけ分かってもどうしようもありませんでしたッ!悔しいですッ!!

ただ、Pythonを使いこなせればしょーもない作業とか自動で任せられそうな未来が見えたので、これからもゆるゆる遊びながら勉強していくつもりです。

『今日からPythonはじめたド素人でも、がんばれば一日でプログラミングっぽいことできるよ〜』という報告でした◎

anaconda

ほけきよさんから「anaconda便利だよ」とアドバイス頂き、さっそく導入しました!ありがとうございます〜

『あれ…conda commad効かねぇな』ってとき

  1. 最近話題の言語【Python】でできる10のこと
  2. 【保存版】今話題のPythonでできることを、プログラミング未経験者でもわかるようにまとめてみた
今後の励みになりますので、
気に入ったらシェアお願いします!

-Web・ガジェット

Copyright© 略してとりてみ , 2019 All Rights Reserved.