圏9研究所 工作室

圏9研究所の開発情報資料など

圏9微博Webスクレイピング~微博フォロアー数を解析する part04

part04 csvファイルを下書きページにアップロード

1.ストーリー
 csvファイルをはてなブログAtomPubで下書きファイルにアップロード更新する
 AtomPub仕様詳細は、下のリンクで
2.コード
1)コード
 ここのコードを丸写しで少し改造
qiita.com

2)改造ポイント
1)アクセスパラメータを設定

USER_NAME = 'luke24e-xx'
BLOG_NAME = 'luke24e-hb.hatenablog.com'
# API key
PASSWORD = 'xxxxxxxxx'
# 下書きページソースの documentIds: ["blog:entry:26006613453775586"]
PAGE_ID = '26006613452812406'
# 下書きページのタイトル
TITLE = 'Auto Upload'
# 送信するcsvファイル
FILE_NAME = '/Users/luke24e-hb/Documents/myfiles/BLOG/W100_fanschart/fans.csv'
#entry_idを有効に
post_hatena_blog(USER_NAME, PASSWORD, entry_id=None, blog_name=BLOG_NAME, data=article)
↓
post_hatena_blog(USER_NAME, PASSWORD, entry_id=PAGE_ID, blog_name=BLOG_NAME, data=article)

2)ブログエントリの投稿から編集に変更
 ブログエントリの投稿(POST:新規投稿)になっているのでブログエントリの編集(PUT:更新)に変更

request = requests.post(url, data=data, headers=headers)
↓
request = requests.put(url, data=data, headers=headers)

3)アップロードデータ内改行コードを区切り文字"-"に変更

file = open(FILE_NAME)
body = escape(file.read())
file.close()
categories = ['仮想通貨', '価格変動速報']
↓
file = open(FILE_NAME)
body_pre = escape(file.read())      # 文字列データ内の '&', '<', '>' をエスケープします
file.close()
body_array = body_pre.splitlines()  # 改行で分割
body = "-"                          # 区切り記号 - でつなぎ直す <br /n> は消される
for i in range(len(body_array)):
    body = body + body_array[i] + "-"
categories = ['']

はてなブログAtomPub
developer.hatena.ne.jp

3.自動化する場合
1)Autometorでアップロード自動化

# PATHを通す
export PATH="$PATH":"/Users/luke24e-hb/.pyenv/shims"
# 実行 どちらもフルパス指定で
/Users/luke24e-hb/.pyenv/shims/python /Users/luke24e-hb/Documents/python_project/W100_fanschat/atupload.py

2)定時巡回させる場合
カレンダーアプリで
qiita.com

まとめページ