Webスクレイピングをはじめてみました(1)

 

こんにちは、長年Webデザインに携わってきましたがプログラミングがなかなか覚えられないLQヒロシです。

今回は一念発起して、流行りのPythonWebスクレイピングをしながらプログラミングを勉強していこうという試みです。

なぜWebスクレイピングなのか?

 

PHPのちょっとした修正や、jQueryを使ったクリックやリサイズの簡単なイベントぐらいはできるけど、そこから先になかなか進めない・・。デザイナーなんだしJavaScriptUI周りのエフェクトとかを実装できるようになりたいと思ってはいるのですが、UI周りってイベント同士が絡んだりすると途端に難しくなってなかなか続かないのが目下の課題だったりします。

簡単なアウトプットを段階的にこなしていって、ファンクションのまとめ方だったり、データのやり取りなどプログラミングの勘所を掴んでいけるのが理想的ですよね。

Webスクレイピングであれば、WebサービスのAPI活用・クローリングでのデータの収集、データベースへの保存や取り出し、データの加工の作成という一連の流れが小規模なカタチで勉強できるので、体系的にポイントを抑えた勉強ができそうです。データを加工するのに正規表現も使うことになりそうだし。

 

プログラミング言語はpythonを使用し、ツイッターと連携して画像を収集しギャラリーサイト作成を最終的な目標としたいと思います。

 

第一回目は、スクレイピングとPythonについてご紹介できればと思います。

そもそもWebスクレイピングとは?

 

厳密にはクローリングとスクレイピングに分けることができます。

・クローリング
WebサイトのハイパーリンクをたどってWebページを探す作業

・スクレイピング
Webページから必要な情報を抜き出し、整形し直す作業

例えば、電子書籍の販売サイトから書籍情報を抜き出して価格を比較、最安値の情報のみをまとめるなど、要するに複数のWebサイトから任意の情報だけを抜き出し、雑多なデータを整理して有益な情報にすることでしょうか。

Pythonって何?おいしいの?

 

GoogleFacebookで採用されていて、機械学習やIoTの事例も多い現在最も旬な言語とも言われていますので、おいしいです。他のプログラミング言語同様、WindowsMacOSLinuxなどのプラットフォームで動作でき、環境構築・Webシステムの開発~データ解析までひとつの言語で実現できることから世界中で広く使われています。

Pythonの特徴

 

文法が読みやすい

 

プログラムは一度書かれた後も他の人に読まれるもの。pythonでは「シンプルで読みやすいコードが書けること」という設計思想があり、コード上の装飾が極力少なくなるような記述方法になっています。少し文例を見てみましょう

実行結果:hogeです

 

このように文の終わりに閉じタグが必要なく、制御構文では影響する範囲を括弧で囲む代わりにインデントで定義。変数は代入するだけで宣言されたことになるのでとてもすっきりとして読みやすいコードになります。

Pythonってなんだか難しそうなイメージがありましたが、PHPなどと比べても別段特殊な書き方をしているわけでもなく、文法が見やすいので非常に馴染みやすく感じました。教育の現場でも採用されていたりするそうで、プログラミング初心者にも学びやすい言語だと思います。

 

・導入が簡単!

 

MacならHomebrewでインストールするだけですぐに使えました。コンパイルする必要もないので、ぶっちゃけ笑ってしまうぐらい早いですwww

(以前PHPを導入した際は、php.iniファイルの設定を調整したり、事前にDBを用意したりと面倒だった思い出があります。)

 

・豊富なライブラリ

 

Pythonには正規表現、数学関数、通信プロコトルなどの標準ライブラリが非常に豊富でインストールするだけで利用が可能です。さらにサードパーティ製のライブラリも豊富に提供されています。最近ではディープラーニング用のTensorFlowなどが有名ですね。データ解析のライブラリも強力で、スクレイピングしたデータをインフォグラフィックとして表現できたりもします。

 

それではPythonの導入方法を見てみましょう

 

Pythonは2系と3系があり、現在は3系が主流になりつつあります。2系と3系の間には互換性がありません。Macではデフォルトでインストールされていますが2系だったりするので、Homebrewで3系をインストールします。

 

 

バージョンを確認してみましょう

 

Homebrewでインストールしたものが参照されているか確認します。

と表示されれば準備は完了です。

 

では、対話方式でプログラム実行できる「インタラクティブシェル」でPythonを動かしてみます。やり方はターミナル上で「python3」と入力するだけですw

立ち上がったら上記のようなメッセージが表示され、コマンド受付状態になります。では、構文を入力してみましょう。

はい、これだけですw簡単ですw

 

終了する時は

または

これでbashに戻ることができます。

 

第一回目は以上になります。説明や導入を中心に駆け足でご紹介してきました。
まだまだ勉強中の身のため、上手く伝えられず分かりにくい部分が多々あると思いますが、次回からは実際にPythonを利用して少しでも魅力をお伝えできればと思います!

「PHPカンファレンス関西2018」に協賛させていただきます


「PHPカンファレンス関西2018」に、Goldスポンサーとして協賛させていただきます。
 
<期間>
2018年7月14日(土)
<会場>
グランフロント大阪
<主催>
PHPカンファレンス関西2018開催実行委員会
「PHPカンファレンス関西2018」公式サイト

NginxをHTTP/2対応する際のポイント

NginxをHTTP/2に対応するにはALPNに対応する必要があり、下記ソフトウェアバージョンの条件を満たす必要があります。

  • Nginx 1.9.5以上であること
    ※但し、その後のバージョンでHTTP/2に関する不具合の修正がある為、ご注意ください。
  • OpenSSL 1.0.2以上であること

導入されているソフトウェアバージョンについては、下記コマンドにて確認可能です。

$ nginx -V

下記のようにバージョン条件が満たされた出力がされていれば問題ありません。

nginx version: nginx/1.10.3 (Ubuntu)
built with OpenSSL 1.0.2g 1 Mar 2016
TLS SNI support enabled

過去にHTTP/2対応したと思っていてもOpenSSLのバージョンが低く、正しくHTTP/2に対応できていないということがあるのでご注意ください。

正しく対応できているかの確認はchromeのDeveloper toolにてProtocol列を表示し、確認してください。

問題がない場合には[h2]と出力されています。

 

VRで運動不足解消

基本的に用事以外は外に出ない
おうち大好きなカツラです。

 

家の中にこもりっきりなので1年に1度ぐらいは運動を始めるのですが、長続きしていません。
直近だと去年はプール、その前の年はジムにいってどちらも大体3ヶ月ほど行ってやめてます。

 

やめる理由としては
・雨の日に出るのが億劫になる
・汗をかいて家まで帰るのが面倒
・継続的にかさむ出費
・単純に筋トレやプール自体に飽きた

 

そうやって今年も同じくそろそろ運動をと思い出したところで今年はVRで運動を始めました!

まだ始めて少ししか経っていないですが、VRでの運動は今まで途中でやめた理由をほとんど解消できます!

 

・雨の日に出るのが億劫になる => 移動が不要
・汗をかいて家まで帰るのが面倒 => 風呂に入る前にやればOK
・継続的にかさむ出費 => ゲームソフトを買い切り
・単純に筋トレやプール自体に飽きた => 飽きれば新しいソフトへ!

 

これはみんなに伝えるしかない!ということで今遊んでる運動になるVR音ゲーを紹介したいと思います!

 

一つ目はこちら

ゲームとしてクオリティーが高いです。
個人的な感覚としては運動よりも音ゲーに比重が傾きますが、ゲーム自体面白いです!

曲もやって行くうちに解放されて行きストーリーもある音ゲーとしてほぼ完成されたようなゲームオススメの一品です!

 

二つ目はこちら

こちらは現状は早期アクセスゲームとなっていますが、運動をするなら1番おすすめです!

簡単に説明すると迫り来るブロックを斬って斬って斬りまくるゲームです。

ハードぐらいの難易度で2回ぐらいやると汗が出て運動になっていい感じです!
こちら切る方向をどこからでもできるモードなどがあるので、ストレス解消にも良さげで今の所1番おすすめです!

 

やり始めたきっかけとしては会社の健康診断の結果が思ったよりもヤバげだったというのもありますが、歳が経つにつれ体に無理がきかなくなることを考えると今のうちに少しでも運動をと・・・

 

同じように「運動不足」で「VR機器」を持っていて「遊ぶスペースが2mx1.5m以上」ある方はぜひ遊んでみてください!

ロロロロで1コマまんがを(ほぼ)毎日ゆる〜く公開中

こんにちわ。
リエです。
 
弊社はロロロロ(ろろろろ)という誰でも簡単に4コマまんがが作れるサービスを展開しております。
■ロロロロとは?
スマートフォンやパソコンから、素材を組み合わせるだけで、誰でも簡単に4コマ漫画をつくって公開できるWebサービスです。
1コマだけの漫画を投稿したり、4コマ続けて連載風にしたり、アイデアのメモとしてもご利用いただけます。
https://rorororo.jp/
 
そのロロロロで、(ほぼ)毎日1コマまんがをゆる〜く公開しております\(^o^)/
どんな内容かというと、その日が何の日かという一コマまんがです。
例えば、12月25日はクリスマスとかですね。
 
実は毎日が何かしらの日というのをご存じでしょうか?
ロロロロを見ると、その日が何の日かが簡単に知れちゃうのです!
【スプラウトちゃん】という名前で投稿しているので、ぜひチェックしてみてくださいね(*´艸`*)
スプラウトちゃんの4コマ
 
今日という日が何の日か知ると、ちょっと毎日が楽しくなりますよ♪
スプラウトのゆる〜い1コマまんがをよろしくお願いします。