[英]Appending data to a Python array is giving an error
我正在使用beautifulsoup練習,我試圖讓代碼隔離頁面中找到的鏈接,然后檢索它們。 我的“print(link.get(”href“))”行打印整個鏈接列表,以便該部分有效。 我正在努力的是現在能夠將列表保存到數組中,以便我可以使用數據。 在這個例子中,Iam試圖在列表中打印第5個元素。
我得到的錯誤是“IndexError:列表賦值索引超出范圍”
以下是代碼:
import requests
from bs4 import BeautifulSoup
i=0
array1 = []
r = requests.get("http://www.yellowpages.ca/bus/Quebec/Rimouski/Walmart/8139565.html")
var = r.content
soup= BeautifulSoup(var)
soup.find_all("a")
for link in soup.find_all("a"):
print (link.get("href"))
array1[i+1] = link.get("href")
print (array1(5))
謝謝。
使用Python 3.4和bs4
您收到錯誤的原因是因為數組中的第二個元素不存在。 因此,當您嘗試通過分配給第二個元素來索引數組時(請記住,Python索引從0開始),Python告訴您該元素不存在而且它會停止。 要解決這個問題,我們必須以正確的方式附加數據。 我們只需將array1[i+1] = link.get("href")
更改為array1.append(link.get("href"))
。
您還可以使用列表理解:
array1 = [link.get('href') for link in soup.find_all('a')]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.