ほんじゃら堂

めんどくさい仕事をラクにする作業自動化レシピ集

groovy

bit.lyのAPI経由で自分のBitlink履歴を取得するGroovyスクリプト

HTTP BuilderのRESTClientを使うと、Web APIとの連携が簡単にできるようだ。 bit.lyに記録したブックマークを分析したかったので、API経由でbitlinkを ダウンロードするスクリプトを書いてみた。 他にエクスポート機能が見当たらなかったのだけど、 API経由…

GroovyでPDFファイル内のテキストを取得する

PDFファイルの検索なんかに使えそう。 OCRではなく、PDF作成時にインデックス化されたテキスト情報を取得する。 pdfboxを使っているので、Javaでも同じような処理で実装可能。 今回はページ数と全テキストの取得のみだけど、 pdfboxの機能で色々な情報を取り…

たくさんのサブフォルダに分かれて保存されている画像ファイルを1つのフォルダにまとめてコピーするスクリプト

過去にデジカメから取り込んだ写真や他の人から受け取った画像を Flickrなどのサービスにアップロードしたり、 ブログにアップロードしたりする際、 画像ファイルがサブフォルダにわかれたままだとアップロードしにくい場合がある。 そんな時に、画像を1つの…

Geb(GroovyのSeleniumライブラリ)でのWeb画面キャプチャが簡単でめちゃ便利

自社のホームページやWebシステムの画面キャプチャを保存する作業は、 それほど頻度は高くないけどいざやるとなるとめんどくさいものだ。 Seleniumでどうにかしようと調べてみたら、GroovyからSeleniumを 扱うためのGebというライブラリが便利そうだったので…

Groovy(もしくはJava)でログインの必要なサイトのWebスクレイピング

APIが存在しないWebサイトから情報を自動取得する方法として、Webスクレイピングを使う。 Jsoupというライブラリがシンプルで使いやすい。 取得したページの要素をjQuery風のセレクタを使って取得することができる。 http://jsoup.org/ 通常のスクレイピング…

仕事でJavaを使うプログラマが個人用のライトな言語としてGroovyを選択するメリットとは

ここ数ヶ月ほどGroovyを使ってみて、感じたメリット。 こういうことを明確にしておくと、他の言語に傾いて時間を無駄にせずにすむ。 Javaで覚えたライブラリをそのまま使えるので、基本を覚えればすぐに使える 逆にGroovyで覚えたライブラリをJavaでも使える…

RSS(Atom)データをPostgreSQLに取り込むGroovyスクリプト

特定のサイトが提供している情報を分析するために RSSからデータを取得するスクリプトを書いた。 XMLSlurper、GroovySQL、あとGroovyのクロージャのおかげで 結構シンプルに作成することができた。慣れたらもう少し Groovyらしいコードにできそう。 保存用の…

GroovyでExcelデータをコンバートして別Excelファイルとして出力する

Excelデータを分析しやすい形に加工できるよう、 Excelシートから1行ずつ読み込み→データを加工→別Excelファイルとして保存 という流れのスクリプトを書いた。 今後はこのスクリプトをベースにデータ加工ツールを サクサク作っていきたい。 convert_excel_te…

GroovyでAmazonのProduct Advertising API経由で商品を検索する

AmazonのAPIを使用してKindle書籍情報をブログ上に出せないかと 思い、まずは商品を検索するスクリプトを書いてみた。 まだGroovyに慣れていないということもあり、結構苦戦したけど ひとまず商品情報を検索・取得して画面上に表示することはできた。 今回は…

Groovy(またはJava)でパスワード認証付きExcelファイルを開く

仕事上Excelでデータを管理したり集計したりする機会が増えてきたので、 作業を自動化できるよう、プログラムでExcelを操作する方法を調べている。 社内のメイン言語はJavaなのである程度共有しつつ、 軽く作れるようにGroovy言語を選択する。 今回は手始め…