Pythonを使ったクローラー入門:動画のダウンロード方法

公開日: 2026-07-20 21:53 948文字 5 min read ... アクセス数

抖音のブロガーが言っている「クローラー」とは、実際にはコードを使って動画をダウンロードするもので、マウスの右クリックで保存するよりも速いのです。初心者の方でも大丈夫です。一行ずつ丁寧にコードの書き方を教えます。

Python スパイダー入門:動画のダウンロード

ティックトックのブロガーが言っていた「スパイダー」とは、実際にはコードを使って動画をダウンロードすることで、手動で右クリックして保存するよりも速いのです。


第一歩:ツールのインストール

ターミナル(CMD / Terminal)を開き、以下の行を貼り付けてエンターを押してください:

pip install requests

Successfully installed requests が表示されたら、インストールが完了です。

pip は Python のインストールツールで、requests はダウンロードを助けてくれるライブラリです。


第二歩:新しい Python ファイルを作成

メモ帳やVS Codeを開き、download.py という名前の新しいファイルを作成してください。


第三歩:Python に requests を使用するように指示する

download.py に以下の行を書いてください:

import requests

この行の意味は、「requests というツールを使用する」ということです。


第四步:動画のURLを準備する

url = "https://example.com/video.mp4"

動画の直接リンクを url という変数に保存してください。url は任意の名前で構いません。video_url という名前にしてもかまいません。= は「右側の値を左側の変数に保存する」という意味です。


第五步:動画をダウンロードする

resp = requests.get(url)

requests.get(url) は、「このURLにリクエストを送信して動画データを取得する」という意味です。

取得したデータを resp という変数に保存します。resp は「レスポンス(response)」の略です。


第六步:ファイルに保存する

with open("video.mp4", "wb") as f:
    f.write(resp.content)

第一行の open("video.mp4", "wb"):video.mp4 という名前のファイルを開きます。wb は「バイナリ書き込みモードで」という意味です。

as f:開いたファイルを「f」という名前で保存します。これは後で使いやすいためです。

二行目の f.write(resp.content):動画データ(resp.content)をファイル(f)に書き込みます。

resp.content が動画の元のデータで、ブラウザで右クリックして保存したものと全く同じです。


第七步:偽装ヘッダーを追加する(ブロック防止)

一部のウェブサイトでは、ユーザーがブラウザではないと判断してダウンロードを拒否することがあります。そのため、偽装ヘッダーを追加します:

headers = {"User-Agent": "Mozilla/5.0"}

そして、ダウンロードの行を以下のように変更してください:

resp = requests.get(url, headers=headers)

headers はリクエストヘッダーで、サーバーに「私はブラウザです」と伝えます。User-Agent はブラウザの名前です。これを追加しないと、サーバーは「Python」と認識してデータを提供しないかもしれません。


第八步:ファイル名を自動で取得する

filename = url.split("/")[-1]

url.split("/"):URL を / に従って複数の部分に分割します。例えば ["https:", "", "example.com", "video.mp4"] のように。

[-1]:最後の部分を取り出します。これが video.mp4 です。

このようにすることで、動画の名前が何であっても自動的に取得できます。


完全なコード

上記のコードを組み合わせると、download.py には以下のようなコードが完成します:

import requests

url = "https://example.com/video.mp4"
headers = {"User-Agent": "Mozilla/5.0"}

resp = requests.get(url, headers=headers)
filename = url.split("/")[-1]

with open(filename, "wb") as f:
    f.write(resp.content)

print("下载完成:" + filename)

実行

python download.py

現在のディレクトリにダウンロードされた動画ファイルが表示されます。


まとめ

コード機能
import requestsダウンロードツールをインポートする
url = "..."動画のURL
headers = {"User-Agent": "..."}ブラウザに偽装する
resp = requests.get(url, headers=headers)動画をダウンロードする
resp.content動画のバイナルデータ
open("文件名", "wb")ファイルを作成する
f.write(resp.content)データを書き込む

スパイダーの仕組み:リンクを取得 → ダウンロード → 保存。これだけです。

... アクセス数
© 2026 violet @qiyuan