見出し画像

翻訳書情報というサイトを始めましたChatGPTも使って

会社の事業展開を考えているとき、翻訳家の金原瑞人さんが私費を投じて発行していたフリーブックレットBOOKMARKが終刊となるというニュースを知りました。翻訳された海外文学を紹介するための、CDケースのサイズ24ページの小冊子です。図書館や一部の書店に置いていました。広告も入っていなくて完全な持ち出しだったと思うのですが、その精神を受け継ぎつつ事業の継続性も確保できないかなと考えてみました。

しかし紙に印刷して綴じ、全国の図書館に配布する経費をまかなうだけの広告をとるとなるとなかなか難しく、事業として成立させるのは難しそうです。

そこでウェブ広告…というのは安易な発想ではありますが、何事も経験ですし、媒体作りに挑戦してみることにしました。

まずは、頻繁に更新できるように情報の取得と加工を自動化する工程を考えます。プログラミングとは無縁の生活を送ってきたので、すでに公開されているスクリプトを参考にしながら五十の手習いです。ChatGPTも活用しました。

1週間ぐらいかけて試行錯誤し、なんとか半自動で次のようなルーティンにたどり着きました。

  1. 版元.comの新刊情報RSSフィードを取得

  2. "訳"を含む行を検索し行番号とともに書名を取得

  3. ハイフン付きISBNの位置を特定するために加工してcsvファイルを作成

  4. ハイフン付きISBNと画像リンクが含まれる行を取得

  5. スプレッドシートにハイフン付きISBNをコピペしてGoogleAppsScriptを動かし、openBDのAPIから書誌情報を取得

  6. テキストファイルにコピペしてHTMLに加工

情報源は版元ドットコムとopenBDのAPIです。openBDはISBNで呼び出せば書誌情報を提供してくれます。しかしまずはどんな本がどんなISBNを付けて刊行されるのかを知らなければなりません。

版元ドットコムを見ると、日々膨大な新刊が発売になっているのがわかりますが、本日発売の本明日発売の本 はRSSフィードが発行されています。これをコマンド curl を使って取得(工程の1)、grep を使って書誌情報に「訳」が含まれるアイテムを取り出します(2)。ここまでは、ChatGPTに「あるRSSフィードから特定の文字列を持つ行を行番号とともに抽出するシェルスクリプトを考えてください」という質問を投げかけて、疑問点があればさらに質問するという形で情報を得ました。なお、curlとgrepはパイプでつなげば一挙に処理できますし、ChatGPTはここまでをまとめたシェルスクリプトを提示してくれたんですが、その後の工程で使うのでRSSフィード丸ごとも保存しておきます。

そして目指す書籍のハイフン付きISBNを取り出す工程3と4は、2で取得した行番号から1つマイナスすれば場所は特定でき、そこから正規表現を使って13桁プラスハイフンの文字列を取り出せばいいかと思っていました。しかしハイフンの位置が出版社によって違うし、同じ行にURLを含むのでハイフンなしとハイフンありで同じISBNが複数箇所存在するという難しい条件なので自分では無理で、ChatGPTに訊いても思う結果が得られず、ここは残念ながらExcelを使って手動です。

そしてハイフン付きISBNをGoogleスプレッドシートに転記し(手動で)、いよいよopen BDのAPIを叩きます(5)。以下のサイトを参考にしました。少し加工が必要だったのでデバッグをするわけですが、エラーの意味がわからない場面ではまたしてもChatGPTの助力を得ました。

そして得た書誌情報をテキストエディタでHTMLに整形し、今回使ったTumblrサイトに転記します。これでやっと終了。

しかしまだまだ手動のプロセスが多いし、持続可能性には我ながら不安が残ります。特に工程3, 4のあたり。最後のHTMLも、手書きでタグを打っている始末。マークダウン書式ならスプレッドシートから簡単に変換できるんじゃないかと思ったのですが、マークダウンだと画像のサイズを指定できないそうで……。

サイト自体にも改良の余地はまだまだ大きいと思います。お気づきの点があればご指摘いただければ幸いです。
最後になりましたが、素人にもこうしたウェブページを30分程度で作れるまでに環境を整えてくれたすべての皆様に多大なる感謝の意を表します。

この記事が気に入ったらサポートをしてみませんか?