pythonでConfluenceをスクレイピング#1

新型コロナウイルスに伴う緊急事態宣言発令を受けたという架空のストーリー形式で、Confluenceのwikiページをpythonでスクレイピングする方法を紹介します。

かちょーの要求その1:出勤計画表の作成

かちょー

緊急事態宣言発令に伴い、会社が3密にならないよう出社率を30%以下に制限します。
出勤計画をみんなが見れる場所で共有してください。

Aくん

わかりました。
wikiページを作成しておきます。

かちょーから出勤計画の共有を依頼されたAくんは以下のような表形式のカレンダーを作成しました。各メンバの出勤状況を色分けし視覚的に状況がわかるようにしました。

この出勤計画表の仕様はこのようになります。

  • ヘッダに曜日が日本語で記載される
  • 曜日は月曜日から始まる
  • 左端の列のセルには月曜日の日付が記載される
  • 左から2列目以降のセルは日付を表す
  • 日付のセルには1行目に日付の数値が入り、2行目以降はメンバの出勤状況がステータス(色)で表現される
  • 日付のセルの背景色が付いているセルは休みを表す

かちょーの要求その2:出社率の集計

かちょー

部署ごとに週次で出社率を報告しないといけなくなった。
wikiページだと手で集計しないといけないから。やっぱりエクセルに変えようか。

Aくん

wikiページのデータを元に出社率出せますよ。
30分あればできるので時間もらえますか。

かちょー

あ、そうなの。じゃ、よろしくー

かくしてAくんはwikiページをスクレイピングするべく出社率集計に取り組むのでした。

環境構築!

環境構築からやっていたら30分じゃ終わらない気もしますが、開発環境ないと始まらないので環境構築しましょう。

python+Eclipse環境のセットアップ

attlassian-python-apiのインストール

Eclipseのメニューから「ウィンドウ>設定」を開き、「PyDev>インタープリター>Pythonインタープリター>Python3」を選択します。「Manage with pip」を開き、「Command to execute」に以下を入力します。

install attlasian-python-api

実行を押すと、atlasian-python-apiがインストールされます。

完了するとこのようになります。Pythonインタープリターにも"atlassian-python-api"があるのを確認します。

まだコード書いていませんが長くなったので次回に続きます。