LoginSignup
0
0

More than 3 years have passed since last update.

スクレイピング:Webサイトをローカルに保存

Last updated at Posted at 2020-10-31

スクレイピング:Webサイトをローカルに保存

備忘録。バックアップ目的のみ。
太陽電磁波?太陽磁気嵐?のような世界的電源停止に備えて。microCMSにはバックアップ機能がないため実施。

コード

import os
from urllib.request import *

# 記事カテゴリー毎のURL
#base_url = "https://benzoinfojapan.org/patients-article/"
#base_url = "https://benzoinfojapan.org/doctors-article/"
base_url = "https://benzoinfojapan.org/medias-article/"

# 保存先ファイル名接頭詞
#prefix = "patients-article"
#prefix = "doctors-article"
prefix = "medias-article"

num = 1

# 各カテゴリ記事上限値をwhile num <= Xに設定. 以下2020年10月現在値.
# patientsの場合10
# patientsの場合26
# patientsの場合13
#       ↓↓
while num <= 13:
    print("ダウンロード開始")

    # HTMLファイル 保存先のディレクトリ
    save_dir = os.path.dirname(os.path.abspath(__file__)) + "/html/"
    # 存在しなければディレクトリ作成
    if not os.path.exists(save_dir): 
        os.mkdir(save_dir)

    url=base_url + str(num)

    # 保存先ファイルのパス
    num_str = str(num)
    save_file = save_dir + prefix + num_str + ".html"

    urlretrieve(url, save_file)

    # doctors-articleの記事が22番目抜けてるので必要な処理^^;
    if num != 11:
        num += 1
    else:
        num += 2

※ エラー処理なし

使い方

3つの各カテゴリーごとにパラメーターを変更して上記のコードを3回実行する。

変更箇所は以下のみっつ。

  • base_url
  • prefix
  • while num <= xx: ← xxの数値を現在総記事数に。

結果

ページ毎にHTMLファイルとしてローカルドライブに保存される。
image.png

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0