Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """Scrape evolutions"""
- from bs4 import BeautifulSoup
- import requests
- levelUrl = "http://pokemondb.net/evolution/level"
- levelResponse = requests.get(levelUrl)
- levelHtml = levelResponse.content
- levelSoup = BeautifulSoup(levelHtml, 'html.parser')
- levelTable = levelSoup.find('table')
- stoneUrl = "http://pokemondb.net/evolution/stone"
- stoneResponse = requests.get(stoneUrl)
- stoneHtml = stoneResponse.content
- stoneSoup = BeautifulSoup(stoneHtml, 'html.parser')
- stoneTable = stoneSoup.find('table')
- noneUrl = "http://pokemondb.net/evolution/none"
- noneResponse = requests.get(noneUrl)
- noneHtml = noneResponse.content
- noneSoup = BeautifulSoup(noneHtml, 'html.parser')
- """
- MAKE SURE TO IMPLEMENT HAPPINESS AND OTHER CONDITIONS WHEN I
- EXPAND THE AMMOUNT OF POKEMON TO 4XX
- """
- def scrape(pokeName, levelTableArg=levelTable, stoneTableArg=stoneTable, nonePage=noneSoup):
- """Scrape evolutions, running through multiple cases/pages"""
- evolutions = []
- if pokeName in levelTableArg.text:
- for tr in levelTableArg.tbody.find_all('tr'):
- tds = tr.find_all('td')
- name = tds[0].text.strip()
- if name == pokeName:
- pokemonLevel = tds[-2].text.strip()
- pokemonCondition = tds[-1].text.strip() or None
- evolutions.extend([str(pokemonLevel), str(pokemonCondition)])
- elif pokeName in stoneTableArg.text:
- for tr in stoneTableArg.tbody.find_all('tr'):
- tds = tr.find_all('td')
- name = tds[0].text.strip()
- if name == pokeName:
- pokemonLevel = 0
- pokemonCondition = tds[-1].text.strip() or None
- evolutions.extend([str(pokemonLevel), str(pokemonCondition)])
- elif pokeName in nonePage.text:
- pokemonLevel = 101
- pokemonCondition = None
- evolutions.extend([str(pokemonLevel), str(pokemonCondition)])
- else:
- #This is for the pokemon that may need trading/other stuff
- #that I may implement later, but for now, this is fine
- pokemonLevel = 40
- pokemonCondition = None
- evolutions.extend([str(pokemonLevel), str(pokemonCondition)])
- return evolutions
Advertisement
Add Comment
Please, Sign In to add comment