##自己紹介
初めまして。今回初めて記事を書いてみることにしました。
現在情報系の修士2年生で、今年の4月よりIT企業へ入社する予定です。
今まで外部発信はしてきませんでしたが、これから少しずつ発信していく所存ですのでよろしくお願いします!
##背景
記念すべき初投稿は、「スクレイピング」の超入門です。
私はかねてより自然言語処理に興味をもっており、その対象として「法律」を扱えないかと考えていました。
そしたらとある研究報告を見つけ、私にもできるかも!と思い、とりあえず裁判所のページから判決文を引っ張ってこよう!と思った次第です。
##環境
・Python 3.7.7
・Windows 10 Pro
・PyCharm 2019.3.3(IDE)
##中身
*注意*
今回は単にページ内のpdfをブラウザ表示させるだけの内容です。
これから改良を重ねて、法分野をより身近にしていきたいと考えております。
from selenium import webdriver
driver = webdriver.Chrome('C:\chromedriver_win32\chromedriver')
driver.get('https://www.courts.go.jp/app/hanrei_jp/search1')
search_bar = driver.find_element_by_name("filter[text1]")
search_bar.send_keys("GPS")
search_bar.submit()
#Xpathで要素を抽出し、formatでtr[]の値を変更する
#それをクリックしてページ表示
for i in range(1,11):
x_path = "//*[@id='main-contents']/div[2]/div/div[3]/div[5]/table/tbody/tr[{0}]/td[2]/a".format(i)
driver.find_element_by_xpath(x_path).click()
*今回seleniumやChromedriverのインストール方法は割愛させていただきます。
➀裁判所の裁判例検索ページにアクセスさせます。
②検索窓のhtmlタグを抽出し、「GPS」というキーワードで検索させます。
*なぜ「GPS」を選んだかというと、学部生の頃法学部に所属しており、当時のゼミ活動でGPS捜査の合憲性について調査したことがあったからです。
➂pdfファイルが埋め込まれているhtmlタグを抽出し、for文でループします。
##学び
今回初めてseleniumを使用しましたが、これだけの内容で1時間くらいかかってしまいましたね。(効率が悪かったかな)
特に最後の部分ですが、html構造が複雑すぎてPDFファイルのタグをどう抽出させるかにだいぶ悩まされました。
今後は、
➀ページ遷移させて全てのPDFを表示
②PDFのダウンロード
➂検索ワードをユーザーが自由に設定できる
などの機能ができれば、自然言語処理の応用もできそうなので引き続き挑戦していきたいと思います。
拙い初投稿を読んでくださりありがとうございました!
##参考
・https://stackoverrun.com/ja/q/11884507
・https://ai-inter1.com/python-selenium/
・https://www.seleniumqref.com/api/python/element_get/Python_find_element_by_xpath.html