\

Pythonにはウェブサイトをローカルにコピーするためのツールがあります。その一つがpywebcopyです。このライブラリを使用すると、指定したウェブサイトをスキャンし、その内容をハードディスクにダウンロードします。

pywebcopyのインストール

pywebcopyはPyPiで利用可能で、pipを使用して簡単にインストールできます。

pip install pywebcopy

単一ページの保存

単一のページを保存するには、以下のようにsave_webpage関数を使用します。

from pywebcopy import save_webpage

save_webpage(
    url="https://httpbin.org/",
    project_folder="E://savedpages//",
    project_name="my_site",
    bypass_robots=True,
    debug=True,
    open_in_browser=True,
    delay=None,
    threaded=False,
)

ウェブサイト全体の保存

ウェブサイト全体を保存するには、save_website関数を使用します。ただし、これはターゲットサーバーに負荷をかける可能性があるため、注意が必要です。

from pywebcopy import save_website

save_website(
    url="https://httpbin.org/",
    project_folder="E://savedpages//",
    project_name="my_site",
    bypass_robots=True,
    debug=True,
    open_in_browser=True,
    delay=None,
    threaded=False,
)

注意点

pywebcopyはJavaScriptを解析する仮想DOMを含んでいません。そのため、ウェブサイトがJavaScriptを多用している場合、JavaScriptが動的にリンクを生成しているため、pywebcopyがすべてのウェブサイトを発見できず、真のコピーを作成できない可能性があります。

また、pywebcopyはウェブサイトのソースコードをダウンロードするわけではなく、HTTPサーバーが返すものだけをダウンロードします。そのため、データ駆動型のウェブサイトは、コピーした後に期待通りに動作しない可能性があります。

以上がPythonのpywebcopyを使用してウェブサイトをコピーする方法になります。この情報が皆さんのPythonプログラミングに役立つことを願っています。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です