Skip to content

Instantly share code, notes, and snippets.

@jsekamane
Created March 11, 2019 14:44
Show Gist options
  • Save jsekamane/e0176568a04e0bfa4ccdb154308257a8 to your computer and use it in GitHub Desktop.
Save jsekamane/e0176568a04e0bfa4ccdb154308257a8 to your computer and use it in GitHub Desktop.
Rail network – lengths
import wptools
import pandas as pd
# https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=hastemplate:%22Infobox%20rail%20network%22&format=json
titles = ["East Japan Railway Company", "Rail transport in India", "West Japan Railway Company", "Central Japan Railway Company", "Korail", "Rail transport in China", "Kyushu Railway Company", "Rail transport in Japan", "Rail transport in Great Britain", "Rail transportation in the United States", "Bangladesh Railway", "Rail transport in Ireland", "Rail transport in Switzerland", "Rail transport in Italy", "Islamic Republic of Iran Railways", "Rail transport in Argentina", "Société Nationale des Chemins de Fer Luxembourgeois", "Rail transport in New Zealand", "Rail transport in France", "Rail transport in the Philippines", "Rail transport in Germany", "Rail transport in Malaysia", "Rail transport in Norway", "Rail transport in Greece", "High-speed rail in Turkey", "Rail transport in Vietnam", "Rail transport in Israel", "Rail transport in Indonesia", "Transport in Laos", "Rail transport in Thailand", "Rail transport in Spain", "Rail transport in Sweden", "National Company for Rail Transport", "Rail transport in Taiwan", "Rail transport in Denmark", "Rail transport in Sri Lanka", "Rail transport in Belgium", "Rail transport in Turkey", "Rail transport in Morocco", "Rail transport in Finland", "Rail transport in the Netherlands", "Rail transport in Azerbaijan", "Rail transport in Austria", "Iraqi Republic Railways", "Rail transport in South Korea", "Rail transport in Montenegro", "Rail transport in Ethiopia", "Rail transport in Uruguay", "Makedonski Železnici", "Kenya Railways Corporation", "Rail transport in Cambodia", "Rail transport in Portugal", "Rail transport in Belarus", "Rail transport in Ukraine", "Tanzania Railways Limited", "Rail transport in Hungary", "Rail transport in the Czech Republic", "Railways in Turkmenistan", "Rail transport in Senegal", "Rail transport in Canada", "Rail transport in Botswana", "Rail transport in Uzbekistan", "Rail transport in Brunei", "Botswana Railways", "Tatra Electric Railway", "Ferrovia Rimini–San Marino"]
lengths = []
ellengths = []
el1lengths = []
el2lengths = []
el3lengths = []
for title in titles:
page = wptools.page(title)
page.get_parse()
infobox = page.data['infobox']
if 'length' in infobox:
lengths.append(infobox['length'])
else:
lengths.append('')
if 'ellength' in infobox:
ellengths.append(infobox['ellength'])
else:
ellengths.append('')
if 'el1length' in infobox:
el1lengths.append(infobox['el1length'])
else:
el1lengths.append('')
if 'el2length' in infobox:
el2lengths.append(infobox['el2length'])
else:
el2lengths.append('')
if 'el3length' in infobox:
el3lengths.append(infobox['el3length'])
else:
el3lengths.append('')
df = pd.DataFrame(
{'Page': titles,
'length': lengths,
'ellength': ellengths,
'el1length': el1lengths,
'el2length': el2lengths,
'el3length': el3lengths,
})
df.to_csv("rail network lengths.csv", encoding='utf-8')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment