Получение слишком большого результата в браузере Python
Друзья, я хочу получить результаты на espncricinfo, которые я пробую с dryscrape:-
Import dryscrape as d
d.start_xvfb()
br = d.Session()
br.visit('http://www.espncricinfo.com/ci/engine/match/index.html?view=live')
for x in br.xpath('//*[@class = "innings-info-1"]'):
x
#print 4 results
for y in br.xpath('//*[@class = "innings-info-2"]'):
y
#print 4 results of 2nd innings
#but when i try combian then print tooo many results
for x in br.xpath('//*[@class = "innings-info-1"]'):
for y in br.xpath('//*[@class = "innings-info-2"]'):
x,'\n',y
#need 4+4=8 results but python prints 16 results
пожалуйста, помогите мне
1 ответ
Решение
У вас есть двойная петля. Первый имеет 4 элемента, второй 4 элемента. Таким образом, вы повторяете 4 раза по второму циклу и получаете 4 + 4 + 4 + 4 = 16. Ваш код выполняется так, как должен.
если вы хотите получить список результатов, вы можете, например, сделать это так:
x = [x for x in br.xpath('//*[@class = "innings-info-1"]')]
y = [y for y in br.xpath('//*[@class = "innings-info-2"]')]
print(list(zip(x,y))