脚本结尾出错,但一切正常

2024-10-03 11:24:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要一个有运动赔率的医生。解析完成后,我得到了所需的数据,但在脚本结束时,我得到了错误:

line 36, in <module>
print(line[0].text.split(' ',1), line[1].text.split(' ',1))
IndexError: list index out of range

HTML示例:

<div class="Section">

<div id="ctl00_Main_ctl00_ctl78_ctl00_SctDescDiv" class="Header">Natsuho Arakawa v Mandy Wagemaker</div><div id="ctl00_Main_ctl00_ctl78_ctl01_Lines" class="Lines">
<div id="ctl00_Main_ctl00_ctl78_ctl01_ctl00_LineDiv" class="Line"><input type="checkbox" id="77" name="77a" value="pt=N#o=5/2#f=46064591#fp=549590497#so=0#ln=#c=13#" onclick="javascript:stopInPlayRefresh();">3.50 Natsuho Arakawa</div>
<div id="ctl00_Main_ctl00_ctl78_ctl01_ctl01_LineDiv" class="Line"><input type="checkbox" id="78" name="78a" value="pt=N#o=2/7#f=46064591#fp=549590498#so=0#ln=#c=13#" onclick="javascript:stopInPlayRefresh();">1.28 Mandy Wagemaker</div>

你知道吗 我的代码:

for x in soup.find_all('div', ['Lines']):
    line = x.find_all('div')
    print(line[0].text.split(' ',1), line[1].text.split(' ',1))

结果:

['1.33', 'Elena Vesnina'] ['3.25', 'Bojana Jovanovski']
['2.75', 'Irina-Camelia Begu'] ['1.40', 'Kaia Kanepi']
['2.75', 'Polona Hercog'] ['1.40', 'Lucie Safarova']
['1.44', 'Svetlana Kuznetsova'] ['2.62', 'Maria Teresa Torro-Flor']

一切正常,但我不明白错误。怎么了?请帮帮我。谢谢


Tags: textindividmain错误lineclass
1条回答
网友
1楼 · 发布于 2024-10-03 11:24:05

这个代码修改将揭示,在某些情况下,您的getign行没有2个元素

for x in soup.find_all('div', ['Lines']):
    line = x.find_all('div')
    if len(line) => 2:
        print(line[0].text.split(' ',1), line[1].text.split(' ',1))
    else:
        print "line is too short", line

相关问题 更多 >