SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

python入門者の勉強会に参加してみた


こちらにお邪魔してきました!! かなり丁寧で初心者でも安心安全のハンズオンでした。 メンターの方が13名ほどいらっしゃるのはほんとに心強いですね。

Python入門者向けハンズオン #6 - connpass

pythonを触った時のメモ

python3.6などで起動 type()になげてあげると、型がわかる f:id:Saku-Saku:20171028133435p:plain

簡単な実行ファイル

def main():
  print('gogo')

if __name__ == '__main__':
  main()

関数をdef main()で定義する if __name__ == '__main__':はおまじない

関数定義の部分は呼び出されない

rubyでいうハッシュみたいな変数の持ち方に、dictionary型があるらしい。

>>> type({'first':1,'second':2 })
<class 'dict'>

【Python入門】初心者必見!dictionary(辞書)型の基本的な使い方と要素の追加方法 | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト

key を指定して中身を撮る場合は fruit['apple']のようにする

rubyでいう、arrayはlist型

制御構文

if, else ,elif

if amount > threshold: のようにコロンが必要

elifなんだなー。

繰り返し

for inを使う。

for name in ['apple', 'orange']:

なら、nameに'apple'や'orange'を突っ込みながら回すイメージ。

例外処理

try except:で行う。

仮想環境

それぞれの依存関係を便利に管理するために仮想環境で管理する。 venvというものがある。

つくった仮想環境への入り方

source env/bin/activate
deactivate

でenv環境を抜けることが可能。

環境を切り分けることで、それぞれのパッケージの依存関係を一括管理することができる。

python3.6 -m venv env で、名前を scrapingとかで作ってあげると環境ごとに用意可能。

(env)(scraping)みたいなイメージ。

スクレイピングをしてみる

env環境下で、pipを使って

  • Requests
  • Beautiful Soup 4

を突っ込む。スクレイピングをするにあたって基本的な組み合わせ。

env環境下でimportできるか試しながら、実行をチェックする。

スクレイピング例

>>> h1
<h1><a href="https://connpass.com/" title="connpass - エンジニアをつなぐIT勉強会支援プラットフォーム"><img alt="connpass - エンジニアをつなぐIT勉強会支援プラットフォーム" height="66" src="https://connpass.com/static/img/common/sitelogo_266x132_bp.png"/></a></h1>
>>> h1.a.get("href")
'https://connpass.com/'

できたもの

テッククランチのタイトルをとってきました。

f:id:Saku-Saku:20171028170019p:plain

slackに通知できたりすると、ちょっとは役に立ちそう。

使い道

スクレイピングするなら、API提供がないサイトから情報をとったり?

意外とできること、役に立つ使い方って難しそう。

あんまりアクセスするのもあれだし、テキストは著作権関係もありそう。グレーゾーンな感じがする。

アクセス頻度とか、ちゃんと規則を守る必要がありそう。

運営

  • 講師陣を豊富にすることで38名の参加でもある程度滞りなく進められる
  • コードがどんな動作をしているのか追うことができる仕組み(図や動画)
  • もくもくタイムがある

感想

rubyって便利じゃね?

例外処理などは、rubyはあまり使わなくてすむのは便利・メソッドで分岐できるからかも

pythonの勉強のはじめとしてハードルがかなり低くとらえられたので、よかった。

Q&AのfantomJSとかヘッドレスブラウザの話がわかるようになっていた。 カピバラ。

7歳で参加してた子がいて衝撃。そんな時代か。 製薬会社の人がいた。

最後の感想もいえました。

なんだか、自分はまずはRubyの人になったんだなぁみたいな謎の感覚がありました。 もちろん言語によらない人になりたいけど、まずはRubyだ!

普段使っていない言語に触れるのはよいことなんだろうなぁという肌感がありました。