平成30年7月豪雨災害に関する情報から
https://www.pref.ehime.jp/h12200/h3007-gouu-saigai-oshirase.htmlwww.pref.ehime.jp
平成30年7月豪雨による被害状況等について(第??報)のPDFをダウンロードしテキスト化
- JAVAをインストール
- PDFBOXをダウンロード http://ftp.riken.jp/net/apache/pdfbox/2.0.11/pdfbox-app-2.0.11.jar 同じフォルダにおいておく
- 以下のファイルをpyで保存し実行
import os import re import shlex import subprocess from urllib.parse import urljoin import requests from bs4 import BeautifulSoup url = 'https://www.pref.ehime.jp/h12200/h3007-gouu-saigai-oshirase.html' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko' } r = requests.get(url, headers=headers) if r.status_code == requests.codes.ok: soup = BeautifulSoup(r.content, 'html5lib') pdf_url = urljoin( url, soup.find('a', text=re.compile('^平成30年7月豪雨による被害状況等について')).get('href')) # ファイル名作成 filename = os.path.basename(pdf_url) # PDFファイルをダウンロード res = requests.get(pdf_url) if res.status_code == requests.codes.ok: # PDFファイルを保存 with open(filename, 'wb') as fw: fw.write(res.content) # PDFファイルをTEXTに変換 cmd = 'java -jar pdfbox-app-2.0.11.jar ExtractText -sort -encoding UTF-8 {}'.format( filename) args = shlex.split(cmd) p = subprocess.Popen(args) p.wait() print('変換終了')