2014年9月27日土曜日

BeautifulSoup で html ファイルの <body> タグの中身を抜き出して Blogger に投稿

Blogger への投稿は「 Blogger の原稿を Sphinx で作成 」で紹介したように、Sphinx で作成した html ファイルの <body> タグの中身を抜き出して投稿してます。

しかし、毎回 html ファイルから <body> タグの中身を手作業で抜き出すのが大変なので、Python の BeautifulSoup を使って抜き出し、クリップボードにコピーしたものをブログ投稿ページに貼り付ける方法でやってみました。

環境

Ubuntu 14.04 Server

必要なパッケージをインストール

$ sudo apt-get install python3-bs4
$ sudo apt-get install xsel

html ファイルから <body> タグの中身を抜き出すスクリプトを準備

$ cat getBodyContents.py
#!/usr/bin/env python3

import sys
from bs4 import BeautifulSoup

oSoup = BeautifulSoup(sys.stdin)
for content in oSoup.html.body.contents:
        print(content, end='')

Blogger の原稿を Sphinx で作成 」で作成した html ファイルが index.html だとすると、

$ cat index.html | ./getBodyContents.py | xsel -b --display :0 -i

これにより、クリップボードに index.html の <body> タグの中身がクリップボードにコピーされます。「 --display :0 」の部分は環境によって「 --display :1 」だったりします。

あとはブラウザの Blogger 投稿画面でクリップボードの中身を貼り付けます。


0 件のコメント:

コメントを投稿