Я посмотрел на код элемента, и нашел то что мне нужно для
'namePlayer'
, это был 4 столбец и тэг 'a'. И я пытался его найти в
answers.append
через
cols[3].a.text
Но когда я компилирую код, я получаю ошибку IndexError. После я пытался изменить индекс на 2, 3, 4, 5 но ничего не изменилось
Вопрос: почему я получаю ошибку IndexError: list index out of range когда все правильно(вроде как :D)
Код:
#!/usr/bin/env python3
import re
import urllib.request
from bs4 import BeautifulSoup
class AppURLopener(urllib.request.FancyURLopener):
version = "Mozilla/5.0"
def get_html(url):
opener = AppURLopener()
response = opener.open(url)
return response.read()
def parse(html):
soup = BeautifulSoup(html)
table = soup.find(id='answers')
answers = []
for row in table.find_all('div')[16:]:
cols = row.find_all('div')
answers.append({
'namePlayer': cols[3].a.text
})
for answer in answers:
print(answers)
def main():
parse(get_html('http://jaze.ru/forum/topic?id=50&page=1'))
if __name__ == '__main__':
main()