継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

【15日目】毎日勉強や

タダです。

やる気の問題で更新が滞ってました。。

日課

Python 文法

  • 辞書型のデータの定義は、hoge = {}

100本ノック

元素記号 "Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."という文を単語に分解し,1, 5, 6, 7, 8, 9, 15, 16, 19番目の>単語は先頭の1文字,それ以外の単語は先頭に2文字を取り出し,取り出した文字列から単語の位置(先頭から何番目の単語か)への連想配列(辞書型もしくはマップ型)を作成せよ.

# coding:utf-8
output_num = (0, 4, 5, 6, 7, 8, 14, 15, 18)
words = 'Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can'
result = {}
wordssplits = words.split(' ')

i = 0

for (num, wordssplit) in enumerate(wordssplits, i):
    if num in output_num:
        result[wordssplit[0:1]] = num
    else:
        result[wordssplit[0:2]] = num

print(result)

enumerate関数てのがあるんですな...

note.nkmk.me

Pythonスクレイピング

Pythonの文法を勉強してきたので、実践編としてスクレイピングでも作りたいと思ってやってみました。

やってみたこと

Twitterのタイムラインスクレイピング

必要な要素

  • Requestsライブラリを使ってWebページを取得する
  • requests_oauthlibでTwitterの認証情報をもたせる

実際に書いたコード

import requests
from requests_oauthlib import OAuth1Session

# Twitterの認証情報
access_token = 'アクセストークン
access_token_secret = 'アクセストークンシークレットキー'
consumer_key = 'コンシューマーキー'
cosumer_secret_key = 'コンシューマーシークレットキー'

# タイムラインの取得
url = "https://api.twitter.com/1.1/statuses/user_timeline.json"

# リクエストのパラメーター
params = {'screen_name':'tada_infra',
... 'exclude_replies':True,
... 'include_rts':False,
... 'count':200}


tw = OAuth1Session(consumer_key, cosumer_secret_key, access_token, access_token_secret)
resp = tw.get(url, params = params)
print(resp)
>>> <Response [200]>

今日はAPIにアクセスするための準備までだったので、明日以降にツイートとってきたいと思います。

参考

www.randpy.tokyo

また明日