Pythonで簡単なスクレイピング

import requests, bs4
import argparse
import os
from mxnet.gluon import utils

parser = argparse.ArgumentParser()
parser.add_argument('--ID', help='棋士番号', type=int, required=True)
args = parser.parse_args()

num = args.ID
print(str(num))

utils.download('https://www.shogi.or.jp/images/player/pro/%d.jpg' %num)
res = requests.get('https://www.shogi.or.jp/player/pro/%d.html'%num)
res.encoding = res.apparent_encoding
soup = bs4.BeautifulSoup(res.text, "html.parser")

elems_jp = soup.select('.nameTtl .jp')
print(elems_jp[0].text)

elems_en = soup.select('.nameTtl .en')
print(elems_en[0].text)

player =  str(num) + ',' + elems_jp[0].text + ',' + elems_en[0].text

if not os.path.isfile('players.txt'):
    with open('players.txt', mode='w') as f:
        f.write(player)
else:
    with open('players.txt', mode='a') as f:
        f.write('\n' + player)
  • MXNetがインストールされていたら画像のダウンロードは「requests」より「gluon.utils」を使ったほうが楽