簡體   English   中英

將數據附加到Python數組會出錯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM