Updated parsing using BeautifulSoup