13
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MetapsAdvent Calendar 2023

Day 23

非エンジニアが気軽に使えるURLからドメイン(eTLD+1)を抽出する社内ツールを作ってみた

Last updated at Posted at 2023-12-22

はじめに

Metaps Advent Calendar 2023 23日目の記事です!

普段はマークアップエンジニアから半分フロントエンドエンジニアに足を突っ込んだような領域でお仕事をしています!

何を作りたいのか?

諸事情あって、ビズ側(セールスやマーケターetc.)の業務で個別の企業を特定する手がかりとしてドメイン(eTLD+1)をキーとして使うことになったのですが、彼らが手作業でURLからサブドメインやディレクトリ、パラメーターを抜こうとするとミスやエラーも多く、何より時間がかかってしまうため、すきま時間で開発してみることにしました。

でもJavaScriptで作るのはなかなかに難しい……

例えば、.jp.comなどのTLDを正規表現でマッチさせようとすると、.jpn.comのような二つのドメインを組み合わせたドメインがあったりします。.jpは必ずしも一番最後にならないし、2文字で終わるとは限らないので正規表現でうまくマッチできません。

また、.co.jp.comなどTLDやeTLDを総当たりに正規表現で並べるのも、これらのドメインは.toyota.sharpなど年々増えておりとても現実的ではないのです。
なので、Javascriptで処理するのは諦めました。

JavascriptとPythonを連携させるのにチャレンジ

JavasciptではダメでもPythonなら色々便利なライブラリがあるらしいということで連携させて使うことにしてみました。

今年Python1年生を見ながら触り始めた正真正銘のPython1年生ですが、ちゃんと欲しい形のドメインを簡単に抽出することができるツールを作れました。Pythonすごいな…

ツール概要

テキストエリアに貼ったURLをJSONデータとしてAPIにPOSTして
API側で各URLに分解して、ドメイン抽出のライブラリにかけています。
そして、抽出したドメインを配列で返して表示しています。

どんなライブラリを使ったのか?

動作サンプル

終わりに

簡単に使えるドメイン抽出ツールを作ることができました。
社内で利用してもらうことができ、だいぶ省力化できたとのことで嬉しいです。

サブドメインで子会社を分けたり、ドメイン以下のディレクトリで子会社が分かれているところは、全て同じドメインになってしまって使えないのが…心残りですね。

13
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?