Webスクレイピングで営業リストを作成する(3)
前回の内容をベースに対応方針を考えます。
前回の対応
- エラーデータの削除
- 重複データの削除
- A列にNoを振る
- 分類欄の追加(B~E列)
- 裁判所名データ整形
- G列追加
- 不要文言除去(『の所在地』)
- 郵便番号
- 不要文言置換(『〒』)
- ハイフン部分が「ー(長音)」のものがあり、対応を保留中。
- 住所
- J,K列(住所1、住所2)追加
- 住所とアクセス方法を分割
- 電話番号
- M~O列(窓口、番号、注意書き)追加
- 電話番号と、それ以外の情報の分割
裁判所名
前回の修正
- 不要文言除去(『の所在地』)
標準外データ
B列に「1」を記入した行を確認します。
『御船簡易裁判所,熊本家庭裁判所 御船出張所(※)』とありますので、「(※)」を削除する必要があります。
不要文言の対応
方針としては、
- Seleniumで情報収集時にプログラムの中で、不要文言を除去する
- 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で不要な列追加を省いたので、列番号が変わっています。
次回以降、処理を追加していきます。
ディスカッション
コメント一覧
まだ、コメントがありません