예제 #1
0
# Array used to store the ID, name, and EVs of each pokemon.
pokemonData = []

for row in rows:
    # This will store all of the scraped data into a Pokemon object.
    # See ./Pokemon.py for class definition.
    pokemon = Pokemon()
    rowData = row.find_all("td")

    # Ensures that the rowData is actually a Pokemon row.
    if (len(rowData) > 0):
        # Assign stats to object.
        pokemon.value = rowData[POKEMON_ID_INDEX].b.string
        pokemon.hitPoints = int(rowData[HP_INDEX].string)
        pokemon.attack = int(rowData[ATTACK_INDEX].string)
        pokemon.defense = int(rowData[DEFENSE_INDEX].string)
        pokemon.specialAttack = int(rowData[SPECIAL_ATTACK_INDEX].string)
        pokemon.specialDefense = int(rowData[SPECIAL_DEFENSE_INDEX].string)
        pokemon.speed = int(rowData[SPEED_INDEX].string)

        # Some pokemon have an additional name (such as Mega Charizard). This checks
        # for that as it is a seperate HTML element.
        if (rowData[POKEMON_NAME_INDEX].small != None):
            pokemon.name = f"{rowData[POKEMON_NAME_INDEX].a.string} {rowData[POKEMON_NAME_INDEX].small.string}"
        else:
            pokemon.name = rowData[POKEMON_NAME_INDEX].a.string

    pokemonData.append(pokemon)

# TODO: Look into why this is happening. For some reason the first pokemon in
#       the list has empty attributes. Not sure why as the first row of data appears
예제 #2
0
#
from pokemon import Pokemon

pokemon = {
    "name": "najnoviji",
    "hp": 200,
    "atk": 300,
    "defense": 400
}

pokemonList = []
pokemonObj1 = Pokemon()
pokemonObj1.name = "prvi"
pokemonObj1.atk = 100
pokemonObj1.hp = 200
pokemonObj1.defense = 300

pokemonObj2 = Pokemon()
pokemonObj2.name = "drugi"
pokemonObj2.atk = 101
pokemonObj2.hp = 201
pokemonObj2.defense = 301

pokemonList.append(pokemonObj1)
pokemonList.append(pokemonObj2)

# jsonStr = json.dumps(pokemonObj1.__dict__)

# dataStr = {
#     "name": pokemonObj1.name,
#     "hp": pokemonObj1.hp,