Webスクレイピングで営業リストを作成する(3)

2021年2月4日

前回の内容をベースに対応方針を考えます。

前回の対応

  1. エラーデータの削除
  2. 重複データの削除
  3. A列にNoを振る
  4. 分類欄の追加(B~E列)
  5. 裁判所名データ整形
    • G列追加
    • 不要文言除去(『の所在地』)
  6. 郵便番号
    • 不要文言置換(『〒』)
    • ハイフン部分が「ー(長音)」のものがあり、対応を保留中。
  7. 住所
    • J,K列(住所1、住所2)追加
    • 住所とアクセス方法を分割
  8. 電話番号
    • M~O列(窓口、番号、注意書き)追加
    • 電話番号と、それ以外の情報の分割

裁判所名

前回の修正

  • 不要文言除去(『の所在地』)

標準外データ

B列に「1」を記入した行を確認します。

『御船簡易裁判所,熊本家庭裁判所 御船出張所(※)』とありますので、「(※)」を削除する必要があります。

不要文言の対応

方針としては、

  1. Seleniumで情報収集時にプログラムの中で、不要文言を除去する
  2. SeleniumがExcelにデータを出力してから、Excelシート上で不要文言を除去する

の二通りが考えられます。

もともと文字の置換(削除)はExcelが得意ですし、Aは対象文字が増えるたびに、プログラムを修正しなければならないので、Bの「Excelシート上で不要文言を除去する」ようにします。

郵便番号

前回の修正

  • 不要文言置換(『〒』)
  • ハイフン部分が「ー(長音)」のものがあり、対応を保留中。

これらはExcelの置換で対応することにします。

標準外データ

C列に「1」を記入した行を確認します。

郵便番号が2個以上

郵便番号が分かれているということは、窓口が異なるということです。今回は各窓口ごとにダイレクトメールを送付する想定で行きます。
よって、送付先は郵便番号ごとに分かれるので、行を追加する必要があります。

行の追加はExcel(VBA)でも可能ですが、行を挿入して、後ろの行をずらすのが面倒臭そうです。
よって、Seleniumで情報収集時に郵便番号が2個以上の場合は、そこで行を増やす対応をします。

区切り文字は、改行と全角カンマです。

大阪地方裁判所、大阪簡易裁判所

305,306行目は、郵便番号欄に住所まで出力されているます。Webページを確認します。

標準データでは郵便番号が記載されている一番目の欄に、郵便番号と住所が記載されています。

対応としては、大阪地裁・簡裁の場合は、所在地欄から郵便番号と住所を取得するようにします。

住所

前回の修正

  • 住所とアクセス方法を分割

Excelで対応します。

標準外データ

D列に「1」を記入した行を確認します。

大阪地裁・簡裁のデータは、郵便番号とあわせて対応します。

電話番号

前回の修正

  • 電話番号と、それ以外の情報の分割

Excelで対応します。

標準外データ

まず、E列に「1」を記入した行を確認します。

大阪地裁・簡裁のデータは、郵便番号とあわせて対応します。

電話番号2個以上

続いて、E列に「D」を記入した行を確認します。

FAX番号もあるため、郵便番号のように1番号で1行とは分けられないようです。代わりに列で分けることにします。
区切り文字は改行です。

電話番号なし

E列に「N」を記入した行を確認します。

電話番号を表示するには、別のページに遷移する必要があるようです。電話番号の取得には、別ページの内容を個別に調べる必要がありますし、中にはpdf文書もあるので、取得は厄介なことになります。

これらのデータについては、プログラムでの取得は断念して、必要に応じて手動で取得することとします。
ただし、手動で取得する場合の助けになるように、各裁判所のURLをB列に出力する処理を追加します。

まとめ

ここまでのExcelシートです。

まとめると表のようになります。

No 対象 内容 対応方針
1 シート全体 エラーデータの削除 Excelで対応
2 シート全体 重複データの削除 Excelで対応
3 シート全体 A列にNoを振る Excelで対応
4 シート全体 分類欄の追加(B~E列) 対応不要
5 シート全体 B列に各裁判所ページのURLを出力 Selenium側で対応
6 裁判所名 G列追加 対応不要
7 裁判所名 不要文言除去『の所在地』 Excelで対応
8 裁判所名 不要文言除去『(※)』 Excelで対応
9 郵便番号 不要文言除去『〒』 Excelで対応
10 郵便番号 文言置換「ー(長音)」→「-」 Excelで対応
11 郵便番号 郵便番号が2個以上の場合、行を増やす Selenium側で対応
12 郵便番号 大阪地裁・簡裁の取得時に、郵便番号・住所を分割 Selenium側で対応
13 住所 J,K列(住所1、住所2)追加 Excelで対応
14 住所 住所とアクセス方法を分割 Excelで対応
15 電話番号 M~O列(窓口、番号、注意書き)追加 Excelで対応
16 電話番号 電話番号と、それ以外の情報の分割 Excelで対応
17 電話番号 電話番号が2個以上の場合、列を増やす Selenium側で対応
  • No4:分類欄の追加(B~E列)は、標準外データを抽出して、対応を検討するための中間作業でしたので、今後の作業からは除外します。
  • No5:G列追加は、元の裁判所名(F列)から不要文言を削除した結果をG列に出力していました。F列を直接書き換えるように変更します。

対応内容

不要処理を省くと次のようになります。

No 対象 内容 対応方針
1 シート全体 エラーデータの削除 Excelで対応
2 シート全体 重複データの削除 Excelで対応
3 シート全体 A列にNoを振る Excelで対応
4 シート全体 B列に各裁判所ページのURLを出力 Selenium側で対応
5 裁判所名 不要文言除去『の所在地』 Excelで対応
6 裁判所名 不要文言除去『(※)』 Excelで対応
7 郵便番号 不要文言除去『〒』 Excelで対応
8 郵便番号 文言置換「ー(長音)」→「-」 Excelで対応
9 郵便番号 郵便番号が2個以上の場合、行を増やす Selenium側で対応
10 郵便番号 大阪地裁・簡裁の取得時に、郵便番号・住所を分割 Selenium側で対応
11 住所 F,G列(住所1、住所2)追加 Excelで対応
12 住所 住所とアクセス方法を分割 Excelで対応
13 電話番号 I~K列(窓口、番号、注意書き)追加 Excelで対応
14 電話番号 電話番号と、それ以外の情報の分割 Excelで対応
15 電話番号 電話番号が2個以上の場合、列を増やす Selenium側で対応

No10、No12:Excelで不要な列追加を省いたので、列番号が変わっています。

次回以降、処理を追加していきます。