脳内ライブラリアン

脳内ライブラリアン

医療、統計、哲学、育児・教育、音楽など、学んだことを深めて還元するために。

MENU

pythonを少しかじってみた感想

pythonってご存知でしょうか。

 

少し前から人気上昇中のプログラミング言語です。

 

巷でプログラミング教育の宣伝をよく見ますが、何の役に立つのかよくわかってませんでした。そこで、この前あったamazonkindleセールでついつい関連本を色々買ってしまいました。

 

かじった範囲でpythonが面白そうだったのは

①webのスクレイピングとクローリングができること

②データ解析も可能なこと

機械学習

あたりでしょうか。簡単に知った範囲のことを書いてみます。

 

スクレイピングとクローリング

①はそもそもどういう用語かも知らなかったのですが、インターネット上のページから必要な情報だけを大量に抜き出したり(スクレイピング)、色んなサイトをプログラムに指示して回らせたり(クローリング)できる方法です。google search consoleが何をやっているのかも、これを知ってようやく理解しました。

 

サイトのサーバーに負荷をかけてしまうので、あまり大量・短時間のアクセスはしてはいけませんし、そもそもクローリングやスクレイピングを禁じているサイトもあるのでその場合はやってはいけません。訴訟になっている例もあるので注意が必要です。(無罪でしたが、下記リンク参照)

岡崎市立中央図書館事件 - Wikipedia

ただ、OKなサイトであれば常識的な範囲でのアクセスが可能です。

 

これをうまくいかせれば色々できそうです。

・医学文献の主要ジャーナルの最新一覧をタイトルだけざっと見れるのではないか

・(本に書いてありましたが)web予約でなかなか空かないところの予約が空いたのがわかる

などなど、今後ちょっとやりながら考えてみたいところです。

 

個人的には洋書を読むときに単語をネットなどで調べた際に、単語の和訳一覧を作るのがコピペなどしているとすごい大変だな、と思っていたので、これもpython使ったら単語+意味だけをスクレイピングできるんちゃうか、、、と思ったのですが、既に個人のブログで作ってくれている人がいました。

webスクレイピングで英単語の和訳を取得する | KAZZSTORAGE

 

しかも『pythonista3』というAppでiphoneでもpythonは使えるので、スマホメインのユーザーも、書いたプログラムを使ってばりばり応用できると思います。

「Pythonista 3」をApp Storeで

 

データ分析

②はpythonで色々データ解析ときれいなグラフが出せるということなのですが、現状医学研究に関してはRで満足しているので、使いどころはないかもしれません。

 

機械学習

これも大変面白そうな分野ですが、まだ全然手が届きません。読み込んだデータをもとに学習させるプログラムなんかが作れるようです。『Python 1年生』(後述)の入門書に一部書いてあるのですが、これだけでも十分ワクワクしますね。

 

買った本たちの紹介

Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!

Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!

  • 作者:森 巧尚
  • 発売日: 2019/10/04
  • メディア: 単行本(ソフトカバー)
 

このシリーズはめちゃくちゃ分かりやすかったです。図が豊富、情報量が少なく素人でも入りやすいです。本読んで気づきましたが、普段パソコンを使っていても、いかにその仕組みについては全然知らないかを気づかされます。

 

1年生はpythonをまず使ってみることから。なんと最後の方では自分の手書き文字を読み込ませるAIまでやっていきます。2年生は主にスクレイピングの話で、実際にどんどんやっていきます。

 

自分のように知識が乏しい人であれば最初の一冊としては間違いなくこれがよさそうです。 

翻訳書です。入門者向けというところでは大抵これが勧められてます。タイトルの通り、言語の基本だけでなくそれ以外のことも伝えてくれるからでしょうか。現状中盤まで読みましたが、かなり内容の多い本なのでまだまだ先は長そうです。初心者はゆっくりと読み進める気持ちで買うのが良いと思います。まったくの素人からするとこれですら若干専門用語が多くて混乱しそうです。

 

これはまた初心者向けです。基本的な使い方からスクレイピングには入るか入らないかというところでおしまいです。1項目ずつがすっきりとした内容でまとまっているので、読むのもあまり困りません。

 

これは実践編な本ですが、クローリングとスクレイピングの手法を順番に解説していきます。入門書のあとで読めばぎりぎりついていけるかもしれないですが、個人的には結構きつかったです。仮想環境とかも使うのがまた一苦労、、、そもそも仮想環境って何という感じでしたし。もし、「webスクレイピングをやりたい」という思いのある人でしたら、html,css, javascriptの構造も併せて勉強することをお勧めします。

 

エラーが頻出しすぎて時間とられすぎるので、本当にちょっとずつ今後は進めようと思ってます。ただ、プログラミングは非常に便利なツールなのが良く分かったので、ぜひぜひ興味のある方はぜひ勉強してみてください。エラーの解消に力を割きすぎて、本業がおろそかになりそうなので、僕はしばらくはほどほどにします(笑)

 

 

楽天ユーザーの方向けのリンクはこちら