wikipedia の国コードから、scraping して、国コードを取得するjupyter notebook をつくりました。
内容をここにもはっておきます。
国名 ISO 3166-1を wikipedia から取得
コードへのリンク
# !/usr/bin/env python
# -*- encoding:utf-8 -*-
import os
import sys
import re
import codecs
import requests
import json
from bs4 import BeautifulSoup
exp_url = 'https://ja.wikipedia.org/wiki/ISO_3166-1'
req = requests.get(exp_url)
# req.encoding = 'Shift_JIS'
# parser は、html.parser をつかう(lxmlはインストールが必要なため)
soup = BeautifulSoup(req.text,'html.parser')
# table 取得
tables = soup.find_all('table')
# 最初のテーブルにリンクがはいっている
trs = tables[0].find_all('tr')
iso3166_list = []
iso3166_dict['flag'] = {}
iso3166_dict['jpn'] = {}
iso3166_dict['eng'] = {}
iso3166_dict['numeric'] = {}
iso3166_dict['alpha-2'] = {}
iso3166_dict['location'] = {}
for tr in trs:
try:
tds = tr.find_all('td')
if tds[0].find('a') is not None:
id3 = tds[3].text.lower()
iso3166_list.append(id3)
iso3166_dict['flag'][id3] = tds[0].find('a').attrs['href']
iso3166_dict['jpn'][id3] = tds[0].find_all('a')[1].attrs['title']
iso3166_dict['eng'][id3] = tds[1].text
iso3166_dict['numeric'][id3] = tds[2].text
iso3166_dict['alpha-2'][id3] = tds[4].text
iso3166_dict['location'][id3] = tds[5].text
except:
pass