#!/usr/bin/python import urllib2,json,sys from lxml.html import document_fromstring def monster_image(monster): opener = urllib2.build_opener() opener.addheaders = [('User-Agent', 'Mozilla/5.0')] image_html = opener.open('https://www.dndbeyond.com/monsters/'+monster).read() # image_html = ' ' # pattern = re.compile(".*\')) monster_data += ' "fill",\n' monster_data += ' "section | Actions",\n' for action in data['actions']: monster_data += ' "description | %s | %s",\n' % (action['name'], action['desc'].replace('\n', '
')) monster_data += ' ""\n' monster_data += ' ],\n' monster_data += ' "tags": [],\n' monster_data += ' "color": "",\n' monster_data += ' "title_size": "14",\n' monster_data += ' "background_image": "%s",\n' % (monster_image(monster)) monster_data += ' "icon": "",\n' monster_data += ' "stats": "%s|%s|%s"\n' % (data['speed']['walk'], data['hit_points'], data['armor_class']) monster_data += ' }\n' return monster_data def main(): if len(sys.argv) == 1: print "usage: download.py monster1 [monster2...]" return 1 monsters = [] for m in sys.argv[1:]: sys.stderr.write("downloading " + m + "\n") monsters.append(read_monster(m)) print("[%s]" % (",\n".join(monsters))) if __name__== "__main__": main()