2020/06/01

chromium-browser を使って記事のタイトルを取得する

私はブログに記事を引用する際、 URL だけ書く事はあまりしません。
何かの文字列に関連付けたり、記事のタイトルに関連付けます。特に後者は参考文献の場合によく行ないます。
これが結構面倒なので、タイトルを取得する Docker Image を作りました、というログです。


環境

  • OS: macOS Mojave 10.14.6
  • Docker for Mac: version 19.03.8, build afacb8b


実行例

  • $ docker run --rm atton/webpage-title 'https://attonblog.blogspot.com/2020/04/upgrade-awscli-with-linked-python38.html'
  • => atton.blog: Homebrew で awscli を upgrade して、依存の keg-only python@3.8 を link する
    • '、' は curl で取得すると escape されて 、 になる事についても問題無し。


作成した経緯

最初は curl に grep で title タグを取得する、くらいの shellscript を使っていました。
それが次第にタグの attributes を考慮したり、sed を挟んだり、と色々拡張する事に。
最終的に『header に title は無く、JavaScript で後から設定する』サイトに遭遇。これは curl では厳しい。

この際ブラウザを動した方が色々と問題解決できるのでは、という事で chromium を headless で動かす事にしました。
DockerHub の repository は atton/webpage-title で、Dockerfile は GitHub に置いてあります

記事のタイトルを取得する為だけに大仰なのでは、という感もあります。
ですが、現状タイトルの取得に失敗した事が無いので、個人的には十分満足しています。

0 件のコメント:

コメントを投稿