PythonでTwitter APIを扱う

pythonTwitterAPIを扱いたいと思って練習した。

↓参考にしたサイト↓

Python で Twitter API にアクセス - Qiita

Python で画像付きツイート - Qiita

1. OAuthライブラリのインストール

pythonTwitter API を使うにはOAuth認証というものが必要のようだ。
下のコマンドでインストールすることができた。

$pip install requests requests_oauthlib

2. アプリケーション登録

↓のサイトを参考にして、以下の4つの鍵を作成する。
TwitterのDeveloperページにアプリを登録するようなものらしい。
1アカウントにつき1アプリで、電話番号登録をしないといけなかった。

  • consumer-key
  • consumer-secret
  • access-token
  • access-token-secret

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. ]

そうそう、こんな感じで色付けしたかったんです。
とにかく最初は整理なんか考えず、

引っかかったポイントをひたすら書いていきます。
記事が貯まってきたらカテゴリに分けます。

よろしくお願いします。