🍆
特商法の表記ページから住所や電話番号、責任者名を雑に抽出する
特商法の表記ページをスクレイピングする場面もあるかと思います。
- 郵便番号
- 住所
- 電話番号
- メールアドレス
- 責任者名(または会社名)
に関しては正規表現を用いれば大雑把に抽出できます。
なお、下記で紹介する正規表現は完璧なものではありません。しかしながら、少しでも人力作業を減らすことができる記述だと思いますのでぜひ活用してみてください。
レイアウト・デザインが異なる野良のサイトで 約1,000ページ ほど試したところ、8割ぐらいでいい感じに抽出してくれました。
住所を抽出
/(北海道|青森県|岩手県|宮城県|秋田県|山形県|福島県|茨城県|栃木県|群馬県|埼玉県|千葉県|東京都|神奈川県|新潟県|富山県|石川県|福井県|山梨県|長野県|岐阜県|静岡県|愛知県|三重県|滋賀県|京都府|大阪府|兵庫県|奈良県|和歌山県|鳥取県|島根県|岡山県|広島県|山口県|徳島県|香川県|愛媛県|高知県|福岡県|佐賀県|長崎県|熊本県|大分県|宮崎県|鹿児島県|沖縄県)((?:旭川|伊達|石狩|盛岡|奥州|田村|南相馬|那須塩原|東村山|武蔵村山|羽村|十日町|上越|富山|野々市|大町|蒲郡|四日市|姫路|大和郡山|廿日市|下松|岩国|田川|大村|宮古|富良野|別府|佐伯|黒部|小諸|塩尻|玉野|周南)市|(?:余市|高市|[^市]{2,3}?)郡(?:玉村|大町|.{1,5}?)[町村]|(?:.{1,4}市)?[^町]{1,4}?区|.{1,7}?[市町村])(.*?)\\n/g
改善できそうな箇所:
- 名古屋市や大阪市などの市で始まるケースがみられるため、主要な市や区を網羅した形にすると尚良し。
- 郵便番号が住所欄と一緒に格納されていることが多い。郵便番号を抽出する場合は、郵便番号らしき箇所から都道府県までを対象とするような正規表現を書くことで実現できるかもしれない。
責任者名を抽出
/(責任者名(\\n|\\t)|責任者(\\n|\\t))(.*?)[\\n]/g
同じ要領で「代表者」や「代表取締役」「代表取締役社長」などの文言でマッチするようにすれば任意の項目を抽出することができると思います。
電話番号を抽出
/(電話番号(\\n|\\t)|TEL(\\n|\\t))(.*?)([ ]|[\\n])/g
電話番号はFAXとの区別として何かしらの宣言がされているので結構抽出できると思います。ただし、お客様向けのコースセンターの電話番号が書かれていることがあるので、フリーダイヤルっぽいやつは人力でググって調整すると良いかもしれません。
Discussion