2014年9月15日月曜日

groovyでPocketのエクスポートデータをCSV形式に変換する

Pocketでは、保存したページを以下のページからHTML形式でエクスポートすることができます。

Pocketのエクスポート用ページ
https://getpocket.com/export/

エクスポートデータをCSV形式に変換するには、以下のコードを実行します。
@Grab(group='org.jsoup', module='jsoup', version='1.7.3')
import org.jsoup.*
import org.jsoup.select.*
import org.apache.commons.csv.*

doc = Jsoup.parse(new File("ril_export.html").getText("UTF-8"))

def fmt = CSVFormat.EXCEL
  .withHeader("time_added", "title", "url", "tags")
  .withQuoteMode(QuoteMode.NON_NUMERIC)
def printer = new CSVPrinter(new FileWriter("ril_export.csv"), fmt)

for(link in Selector.select("a", doc)){
  def time_added = new Date(Long.parseLong(link.attr("time_added"))*1000).format("yyyy/MM/dd HH:mm:ss")
  def title = link.text()
  def url = link.attr("href")
  def tags = link.attr("tags")
  printer.printRecord([time_added, title, url, tags])
}
printer.flush()
printer.close()

0 件のコメント:

コメントを投稿