python はド素人ですが、楽したいので python にお願いしてます。
マニュアルは zip をダウンロードしてローカルに保存、展開するケースを想定しています。(マニュアルが書き換わっても確認できるように)
import bs4 import csv from bs4 import BeautifulSoup from glob import glob # 出力ファイル名 outfile = 'default_value.txt' # Reference マニュアルを指定 manualfile = r'C:\manual\19c\refrn\*.html' # main def main(): with open(outfile, 'wt',newline="",encoding="utf-8" ) as f: writer = csv.writer(f) for file in glob(manualfile): # print(file) soup = bs4.BeautifulSoup(open(file,'r',encoding="utf-8"), 'html.parser') title = soup.find("title") tables = soup.find_all('table') for table in tables: if 'パラメータ・タイプ' in table.text: for rows in table.find_all('tr'): data = [] if 'デフォルト値' in rows.text: data.append(title.text) for cell in rows.find_all('td'): data.append(cell.text.replace('\n','')) writer.writerow(data) f.close if __name__ == '__main__': main()
いちおう、11.2 から 19c のマニュアルで動作確認済み(2020年3月時点)
出力のイメージはこんな感じ。
ACTIVE_INSTANCE_COUNT,デフォルト値,デフォルト値はありません。 ADG_ACCOUNT_INFO_TRACKING,デフォルト値,LOCAL ADG_REDIRECT_DML,デフォルト値,false ALLOW_GLOBAL_DBLINKS,デフォルト値,FALSE ALLOW_GROUP_ACCESS_TO_SGA,デフォルト値,false
大事なことなのでもう一度言いますが、python はド素人です。
WEBスクレイピング版も、気が向いたら作ります。