2017-06-14 69 views
0

我的代碼給出了一個IndexError。我無法弄清楚爲什麼。請幫忙。Python/BeautifulSoup - 顯示IndexError的代碼

這是我的代碼:

import urllib 
from bs4 import BeautifulSoup 
url = 'http://python-data.dr-chuck.net/known_by_Dregan.html' 

for i in range(7): 
    html = urllib.urlopen(url).read() 
    soup = BeautifulSoup(html) 

    tags = soup('a') 
    lst = list() 

    for tag in tags: 
     a = tag.get('href',None) 
     lst.append(a) 
    url = lst[17] 

print url 

我得到以下IndexError:

Traceback (most recent call last): 
    File "test.py", line 15, in <module> 
    url = lst[17] 
IndexError: list index out of range 

我在做什麼錯?提前致謝。

+0

'lst'有多少項? –

+0

超過18,加上同樣的錯誤會顯示,即使我將其更改爲lst [2] – Tokaalmighty

+0

雖然有多少?打印多少個。 –

回答

0

你沒有做錯任何事,代碼對我來說工作正常。也許這是一個網絡相關的問題,其中頁面的內容沒有像預期的那樣加載。 每次運行代碼時都會出現問題嗎?

+0

這超級怪異!我複製並粘貼了我在這裏發佈的代碼,並且運行良好。但是當我運行代碼之前,在我的文本編輯器中寫入之前,在它轉移它之前,它顯示我錯誤.. – Tokaalmighty

+1

我只是嘗試縮進第15行('url = lst [17]'),它會拋出您提到的錯誤之前。也許這就是你在代碼中面臨的問題。 – jgmh