# 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
# 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,