PythonでTwitter APIを扱う
pythonでTwitterのAPIを扱いたいと思って練習した。
↓参考にしたサイト↓
Python で Twitter API にアクセス - Qiita
1. OAuthライブラリのインストール
pythonでTwitter API を使うにはOAuth認証というものが必要のようだ。
下のコマンドでインストールすることができた。
$pip install requests requests_oauthlib
2. アプリケーション登録
↓のサイトを参考にして、以下の4つの鍵を作成する。
TwitterのDeveloperページにアプリを登録するようなものらしい。
1アカウントにつき1アプリで、電話番号登録をしないといけなかった。
Twitterアプリケーションの作成(Consumer key、Consumer secret、Access token、Access token secretの確認方法)
3. タイムラインへ投稿
以下のコードでタイムラインに投稿できた。
# OAuthライブラリ from requests_oauthlib import OAuth1Session CK = "XXXXXXXXXXXXXXXXXXXXXXXXXXX" # Consumer Key CS = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # Consumer Secret AT = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # Access Key AS = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # Access Secret # 投稿用のURL url_text = "https://api.twitter.com/1.1/statuses/update.json" # 投稿する文字 params = {"status": "Hello, World!"} twitter = OAuth1Session(CK,CS,AT,AS) req_text = twitter.post(url_text, params = params)
日本語や画像の投稿、タイムライン取得など、もう少し発展させたい。
【Numpy】配列の作成
Numpyで配列の作成する方法を列挙します。
- np.array()
配列を作成するときの最もノーマルな方法です。
import numpy as np # ノーマル >>> np.array([1,2]) array([1, 2]) # 2次元 >>> np.array([[1,2],[3,4],[5,6]]) array([[1, 2], [3, 4], [5, 6]]) # listからの変換 >>> a = [1,2,3] >>> np.array(a) array([1, 2,3])
- np.arange()
整数の列を作るときはこれが便利です。
ただし0始まりに慣れないといけない。
# (0始まりで)3まで >>> np.arange(3) array([0, 1, 2]) # (0始まりで)10まで。2つおきに。 >>> np.arange(0,10,2) array([0, 2, 4, 6, 8]) # 10から1ずつ減らして0まで(0が入らないのがなんとも言えない) >>> np.arange(10,0,-1) array([10, 9, 8, 7, 6, 5, 4, 3, 2, 1]) # reshapeを使う。 >>> np.arange(10).reshape(2,5) array([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]])
- np.linspace()
実数列を作りたいときはこれ。
(開始[○から],終了[●まで],分割数[■分割])で覚えると便利です。
※ただし分割数は要素数-1になる事に注意。
# 0から10まで3分割 >>> np.linspace(0,10,3) array([ 0., 5., 10.]) # 0から10まで2分割 >>> np.linspace(0,10,2) array([ 0., 10.]) # 0から10まで10分割(9ステップを10で割るから中途半端になる) >>> np.linspace(0,10,10) array([ 0. , 1.11111111, 2.22222222, 3.33333333, 4.44444444, 5.55555556, 6.66666667, 7.77777778, 8.88888889, 10. ]) # 0から10まで9分割 >>> np.linspace(0,10,11) array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
- zeros, ones, eye
全部ゼロ、全部1、○次の正方行列(単位行列)を作るとき。
# 0を5要素 >>> np.zeros(5) array([ 0., 0., 0., 0., 0.]) # 1を5要素 >>> np.ones(5) array([ 1., 1., 1., 1., 1.]) # 5x5の単位行列 >>> np.eye(5) array([[ 1., 0., 0., 0., 0.], [ 0., 1., 0., 0., 0.], [ 0., 0., 1., 0., 0.], [ 0., 0., 0., 1., 0.], [ 0., 0., 0., 0., 1.]])
はじめに
こんにちは。yokkaiと申します。
初めての投稿です。
以前はアメブロを使っていましたが、
ソースコードを色付けして紹介するブログを書きたかったので、
はてなブログに移動しました。
最近pythonの勉強を始めたので、
主にpythonに関する備忘録を書こうと思います。
pythonについて分からない事をGoogleで検索すると、
大体英語のページが出てきて、
日本語のページはほとんど誰かのブログが引っかかるんですね。
皆様の勉強の参考になれば幸いです。
紹介例
>>> import numpy as np >>> a=np.array([1,2,3,4,5]) >>> np.argsort(a) array([0, 1, 2, 3, 4], dtype=int64) >>> b=np.array([10,2.3,35,48,560]) >>> np.argsort(b) array([1, 0, 2, 3, 4], dtype=int64) >>> nb=np.argsort(b) >>> print(nb) [1 0 2 3 4] >>> nb=np.sort(b) >>> print(nb) [ 2.3 10. 35. 48. 560. ]
そうそう、こんな感じで色付けしたかったんです。
とにかく最初は整理なんか考えず、
引っかかったポイントをひたすら書いていきます。
記事が貯まってきたらカテゴリに分けます。
よろしくお願いします。