I am not too strong in Python but I am building a site for a guild I am a part of in a game, and I am using a crawler to pull some of our members data off of another site (yes I did receive permission to do so). I am using beautiful soup 4 with python 3.7. I am receiving the error:
Traceback (most recent call last):
File "/Users/UsersLaptop/Desktop/swgohScraper.py", line 21, in <module>
temp = members[count]
IndexError: list index out of range
My Code is Here:
from requests import get
from bs4 import BeautifulSoup
# variables
count = 1
# lists to store data
names = []
gp = []
arenaRank = []
url = 'https://swgoh.gg/g/21284/gid-1-800-druidia/'
response = get(url)
soup = BeautifulSoup(response.text, 'html.parser')
type(soup)
members = soup.find_all('tr')
members.sort()
for users in members:
temp = members[count]
name = temp.td.a.strong.text
names.append(name)
count += 1
print(names)
I am guessing I am receiving this error due to the fact that members has 50 members in it but the 50th is null, and I would need to stop the array from appending if the data was null however when I tried putting an if loop under my for loop such as:
if users.find('tr') is not None:
it does not fix the issue. It would be greatly appreciated if someone could explain how to solve this issue, and why the solution works. Thank you in advance!