parent
e5d4d8d244
commit
728730de2e
@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf8 -*-
|
||||
"""
|
||||
Parse skill tree names and jp names for monster hunter X.
|
||||
http://monsterhunter.wikia.com/wiki/MHX:_Skill_List
|
||||
|
||||
Returns list of dict, e.g.:
|
||||
[
|
||||
{
|
||||
"name": "Testucabra",
|
||||
"name_jp": "...",
|
||||
},
|
||||
...
|
||||
]
|
||||
"""
|
||||
|
||||
import sys
|
||||
import re
|
||||
import json
|
||||
from collections import defaultdict, OrderedDict
|
||||
|
||||
import requests
|
||||
|
||||
|
||||
#<td rowspan="1" style="vertical-align: top; background-color: #ddeeee; font-size:12pt; border-bottom: 2px solid #000000;"><h3><span class="mw-headline" id="Ammo_Saver">Ammo Saver</span></h3>弾薬節約
|
||||
TREE_RE = re.compile('^<td [^>]*><h[23]><span class="mw-headline" id="[^"]*">(?:<b>)?([^<]*)(?:</b>)?</span></h[23]>([^<]*)')
|
||||
|
||||
|
||||
def parse_wikia_skill_trees(f):
|
||||
data = []
|
||||
seen = set()
|
||||
while True:
|
||||
line = f.readline()
|
||||
if not line:
|
||||
break
|
||||
line = line.strip()
|
||||
m = TREE_RE.match(line)
|
||||
if m:
|
||||
stree = dict(name=m.group(1), name_jp=m.group(2))
|
||||
if stree["name"] not in seen:
|
||||
data.append(stree)
|
||||
seen.add(stree["name"])
|
||||
return data
|
||||
|
||||
|
||||
def _main():
|
||||
with open(sys.argv[1]) as f:
|
||||
stree_list = parse_wikia_skill_trees(f)
|
||||
print json.dumps(stree_list, indent=2)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
_main()
|
||||
@ -0,0 +1,586 @@
|
||||
[
|
||||
{
|
||||
"name_jp": "\u5f3e\u85ac\u7bc0\u7d04",
|
||||
"name": "Ammo Saver"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7832\u8853",
|
||||
"name": "Artillery"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u76d7\u307f\u7121\u52b9",
|
||||
"name": "Anti-Theft"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u653b\u6483",
|
||||
"name": "Attack"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u30d9\u30eb\u30ca",
|
||||
"name": "Beruna"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7d30\u83cc\u5b66",
|
||||
"name": "Biology"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u9ed2\u708e\u738b",
|
||||
"name": "Black Flame King"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7206\u7834\u74f6\u8ffd\u52a0",
|
||||
"name": "Blast C+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u88c2\u50b7",
|
||||
"name": "Bleeding"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5c5e\u6027\u8010\u6027",
|
||||
"name": "Blight Res"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u920d\u5668",
|
||||
"name": "Blunt Weapon"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7206\u5f3e\u5f37\u5316",
|
||||
"name": "Bomb Boost"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6ce1\u6cab",
|
||||
"name": "Bubbles"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u63a5\u6483\u74f6\u8ffd\u52a0",
|
||||
"name": "C.Range C+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8089\u98df",
|
||||
"name": "Carnivore"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5265\u304e\u53d6\u308a",
|
||||
"name": "Carving"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u30c1\u30e3\u30f3\u30b9",
|
||||
"name": "Chance"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8b77\u77f3\u738b",
|
||||
"name": "Charmer"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u62e1\u6563\u5f3e\u8ffd\u52a0",
|
||||
"name": "Clust S+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5bd2\u51b7\u9069\u5fdc",
|
||||
"name": "Cold-Adapted"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8010\u5bd2",
|
||||
"name": "Cold Res"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8abf\u5408\u6570",
|
||||
"name": "Combo Plus"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8abf\u5408\u6210\u529f\u7387",
|
||||
"name": "Combo Rate"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u9023\u6483",
|
||||
"name": "Combo Rush"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u4f53\u8853",
|
||||
"name": "Constitutn"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u69b4\u5f3e\u8ffd\u52a0",
|
||||
"name": "Crag S+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7d05\u515c",
|
||||
"name": "Crimson Helmet"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u629c\u5200\u4f1a\u5fc3",
|
||||
"name": "Crit Draw"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u4f1a\u5fc3\u5f37\u5316",
|
||||
"name": "Critical Boost"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5c5e\u6027\u4f1a\u5fc3",
|
||||
"name": "CritElemnt"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7279\u6b8a\u4f1a\u5fc3",
|
||||
"name": "CritStatus"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u3060\u308b\u307e",
|
||||
"name": "Daruma"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5c04\u6cd5",
|
||||
"name": "Dead Eye"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u9632\u5fa1",
|
||||
"name": "Defense"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5bfe\u9632\u5fa1DOWN",
|
||||
"name": "Def Lock"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u91cd\u6483",
|
||||
"name": "Destroyer"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u9f8d\u5c5e\u6027\u653b\u6483",
|
||||
"name": "Dragon Atk"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u9f8d\u8010\u6027",
|
||||
"name": "Dragon Res"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u98df\u4e8b",
|
||||
"name": "Eating"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5c5e\u6027\u653b\u6483",
|
||||
"name": "Elemental"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5c5e\u5f37\u74f6\u8ffd\u52a0",
|
||||
"name": "Elemental Boost C+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u56de\u907f\u8ddd\u96e2",
|
||||
"name": "Evade Dist"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u56de\u907f\u6027\u80fd",
|
||||
"name": "Evasion"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6e1b\u6c17\u74f6\u8ffd\u52a0",
|
||||
"name": "Exhaust C+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u9054\u4eba",
|
||||
"name": "Expert"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6e9c\u3081\u77ed\u7e2e",
|
||||
"name": "FastCharge"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u904b\u6c17",
|
||||
"name": "Fate"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5263\u8853",
|
||||
"name": "Fencing"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u706b\u5c5e\u6027\u653b\u6483",
|
||||
"name": "Fire Atk"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u706b\u8010\u6027",
|
||||
"name": "Fire Res"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u72c2\u6483\u8010\u6027",
|
||||
"name": "Frenzy Res"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u63a1\u53d6",
|
||||
"name": "Gathering"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u672c\u6c17",
|
||||
"name": "Gloves Off"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u98df\u3044\u3057\u3093\u574a",
|
||||
"name": "Gluttony"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u91d1\u96f7\u516c",
|
||||
"name": "Golden Thunder Prince"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u30ac\u30fc\u30c9\u6027\u80fd",
|
||||
"name": "Guard"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u30ac\u30fc\u30c9\u5f37\u5316",
|
||||
"name": "Guard Up"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6839\u6027",
|
||||
"name": "Guts"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5320",
|
||||
"name": "Handicraft"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u4f53\u529b",
|
||||
"name": "Health"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8074\u899a\u4fdd\u8b77",
|
||||
"name": "Hearing"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u708e\u71b1\u9069\u5fdc",
|
||||
"name": "Heat-Adapted"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8010\u6691",
|
||||
"name": "Heat Res"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5927\u96ea\u4e3b",
|
||||
"name": "Heavy Snow Lord"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u91cd\u6483\u5f3e\u5f37\u5316",
|
||||
"name": "Heavy Up"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u91ce\u8349\u77e5\u8b58",
|
||||
"name": "Herbology"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u82f1\u96c4\u306e\u76fe",
|
||||
"name": "Hero's Shield"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u30cf\u30c1\u30df\u30c4",
|
||||
"name": "Honey"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8179\u6e1b\u308a",
|
||||
"name": "Hunger"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6c37\u5c5e\u6027\u653b\u6483",
|
||||
"name": "Ice Atk"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6c37\u8010\u6027",
|
||||
"name": "Ice Res"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u71fc\u6ec5\u5203",
|
||||
"name": "Incinerating Blade"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5909\u5247\u5c04\u6483",
|
||||
"name": "Irregular Shot"
|
||||
},
|
||||
{
|
||||
"name_jp": "KO",
|
||||
"name": "KO"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u30b3\u30b3\u30c3\u30c8",
|
||||
"name": "Kokoto"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u52b9\u679c\u6301\u7d9a",
|
||||
"name": "LastingPwr"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8df3\u8e8d",
|
||||
"name": "Leaping"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7bc0\u98df",
|
||||
"name": "LightEater"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u88c5\u586b\u6570",
|
||||
"name": "Loading"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7121\u5fc3",
|
||||
"name": "Longing"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7b1b",
|
||||
"name": "Maestro"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u4e57\u308a",
|
||||
"name": "Mounting"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8338\u98df",
|
||||
"name": "Mycology"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u901a\u5e38\u5f3e\u8ffd\u52a0",
|
||||
"name": "Normal S+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u901a\u5e38\u5f3e\u5f37\u5316",
|
||||
"name": "Normal Up"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u96bb\u773c",
|
||||
"name": "One-Eyed"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u9ebb\u75fa\u74f6\u8ffd\u52a0",
|
||||
"name": "Para C+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u9ebb\u75fa",
|
||||
"name": "Paralysis"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6563\u5f3e\u8ffd\u52a0",
|
||||
"name": "Pellet S+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6563\u5f3e\u5f37\u5316",
|
||||
"name": "Pellet Up"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u89b3\u5bdf\u773c",
|
||||
"name": "Perception"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8cab\u901a\u5f3e\u8ffd\u52a0",
|
||||
"name": "Pierce S+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8cab\u901a\u5f3e\u5f37\u5316",
|
||||
"name": "Pierce Up"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6bd2",
|
||||
"name": "Poison"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6bd2\u74f6\u8ffd\u52a0",
|
||||
"name": "Poison C+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u30dd\u30c3\u30b1",
|
||||
"name": "Pokke"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7814\u78e8\u8853",
|
||||
"name": "Polisher"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5e95\u529b",
|
||||
"name": "Potential"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5f37\u6483\u74f6\u8ffd\u52a0",
|
||||
"name": "Power C+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7cbe\u5bc6\u5c04\u6483",
|
||||
"name": "Precision"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u52a0\u8b77",
|
||||
"name": "Protection"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5343\u91cc\u773c",
|
||||
"name": "Psychic"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u629c\u5200\u6e1b\u6c17",
|
||||
"name": "PunishDraw"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u72e9\u4eba",
|
||||
"name": "Ranger"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u9006\u4e0a",
|
||||
"name": "Rebellious"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u56de\u5fa9\u91cf",
|
||||
"name": "Rec Level"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u56de\u5fa9\u901f\u5ea6",
|
||||
"name": "Rec Speed"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u53cd\u52d5",
|
||||
"name": "Recoil"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u901f\u5c04",
|
||||
"name": "Rapid Fire"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u88c5\u586b\u901f\u5ea6",
|
||||
"name": "Reload Spd"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5ca9\u7a7f",
|
||||
"name": "Rock Piercing"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8352\u9264\u722a",
|
||||
"name": "Ruinous Hook Claw"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6c17\u914d",
|
||||
"name": "Sense"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7814\u304e\u5e2b",
|
||||
"name": "Sharpener"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u65ac\u308c\u5473",
|
||||
"name": "Sharpness"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7d0d\u5200",
|
||||
"name": "Sheathing"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7761\u7720",
|
||||
"name": "Sleep"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7761\u7720\u74f6\u8ffd\u52a0",
|
||||
"name": "Sleep C+"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u77db\u7815",
|
||||
"name": "Spearbreaker"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u9ad8\u901f\u8a2d\u7f6e",
|
||||
"name": "SpeedSetup"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u95d8\u9b42",
|
||||
"name": "Spirit"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6e1b\u6c17\u653b\u6483",
|
||||
"name": "Stam Drain"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6c17\u529b\u56de\u5fa9",
|
||||
"name": "Stam Recov"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u30b9\u30bf\u30df\u30ca",
|
||||
"name": "Stamina"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7279\u6b8a\u653b\u6483",
|
||||
"name": "Status"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6c17\u7d76",
|
||||
"name": "Stun"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u9006\u5883",
|
||||
"name": "Survivor"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u53f7\u4ee4",
|
||||
"name": "TeamLeader"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u91c7\u914d",
|
||||
"name": "TeamPlayer"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u75db\u6483",
|
||||
"name": "Tenderizer"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u96f7\u5c5e\u6027\u653b\u6483",
|
||||
"name": "ThunderAtk"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u96f7\u8010\u6027",
|
||||
"name": "ThunderRes"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7aae\u5730",
|
||||
"name": "Tight Spot"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6355\u7372",
|
||||
"name": "Tranquilzr"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u904b\u642c",
|
||||
"name": "Transportr"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5b9d\u7e8f",
|
||||
"name": "Treasure Clad"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u8010\u9707",
|
||||
"name": "Tremor Res"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7121\u50b7",
|
||||
"name": "Unscathed"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u7d2b\u6bd2\u59eb",
|
||||
"name": "Violet Poison Princess"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6c34\u5c5e\u6027\u653b\u6483",
|
||||
"name": "Water Atk"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6c34\u8010\u6027",
|
||||
"name": "Water Res"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u6c17\u307e\u3050\u308c",
|
||||
"name": "Whim"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u5e83\u57df",
|
||||
"name": "Wide-Range"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u767d\u75be\u98a8",
|
||||
"name": "White Gale"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u98a8\u5727",
|
||||
"name": "Wind Res"
|
||||
},
|
||||
{
|
||||
"name_jp": "\u30e6\u30af\u30e2",
|
||||
"name": "Yukumo"
|
||||
}
|
||||
]
|
||||
Loading…
Reference in new issue