小ネタかもしれないですが、よく使うので記載しておきます。
分析作業をしてるときにPythonの処理の中でURLの必要な部分だけ抜き出したり、URLの要素から判定をしたいときにurllib.parseのurlparseを使って解析をしています。
urlparseの使用例
URL文字列のParseについて下記サンプルを使って説明を行う。
from urllib.parse import urlparse, parse_qs url = "https://www.example.com:3000/test.html?usr_id=hoge" result = urlparse(url) print(f"schema: {result.schema}") print(f"netloc: {result.netloc}") print(f"hostname: {result.hostname}") print(f"port: {result.port}") print(f"path: {result.path}") print(f"query: {result.query}")
出力結果
schema: https netloc: www.example.com:3000 hostname: www.example.com port: 3000 path: test.html query: usr_id=hoge
キーを指定すると、URLのパース結果から必要な部分だけ取得出来てとても便利です。
parse_qsの使用例
先ほどの例で取得したqueryをparse_qsでパースしてみます。
query = parse_qs(result.query) print("query: {query}")
出力結果
query: {"usr_id": ["hoge"]}
parse_qsを使うことでクエリパラメータの中身をdict型で取り出すことができます。
urlparseやparse_qs以外にもパーサーモジュールがあるのですが、使用したことがないので、他のパーサーモジュールについては下記リファレンスに書いてあるので、参照してみてください!
セキュリティ関連調査作業とかでURLって分析に使用することがあると思うので機械的にParseする場合にはあると便利なモジュールだと思ってます!