概要
こちらのページからポケモンの鳴き声のwavファイルをプログラミングでダウンロード(スクレイピング)するコードの紹介です。音声ファイルのダウンロードにurllib.request.urlretrieve
という関数を使うのがポイントです。
スクレイピングはマナー、法律を守って自己責任で実行してください。
環境
macOS Catalina 10.15.4
python 3.8.0
ライブラリのインストール
pip install beautifulsoup4
pip install requests
pip install urllib
コード
from bs4 import BeautifulSoup
import requests
import urllib
import time
base_url = 'http://games255.512.jp/'
index_page_url = base_url+'pokewav_DL/index.html'
html_text = requests.get(index_page_url).content #文字化け対策に.textではなく.contentを使う
soup = BeautifulSoup(html_text,"html.parser")
a_tags = soup.find_all('a')
for a in a_tags:
path = a.get('href')
if 'pokewav' not in path: continue
abs_path = base_url + '/'.join(path.split('/')[1:])
wav_file_name = a.text.replace(':','_')+'.wav'
urllib.request.urlretrieve(abs_path,wav_file_name)
print(wav_file_name,'is downloaded')
time.sleep(1)