在我的代码中,我试图使用.split()方法拆分字符串并将链接(位于string中)放入数组中,但是当我尝试这样做时。
ciao = []
for article in soup.find_all("a", {"style": "height:81px;"}):
ciao = article.get("href").split()
print(ciao[1])
我收到错误:“ IndexError:列表索引超出范围
所以我试图打印出列表
ciao = []
for article in soup.find_all("a", {"style": "height:81px;"}):
ciao = article.get("href").split()
print (ciao)
它给了我:
[link1]
[link2]
[link3]
[link4]
[link5]
[link6]
...
代替
[link1, link2, link3, ...]
您能解释一下为什么以及如何更正我的代码以获得列表吗?
最佳答案
如果您要从页面中提取标签,就足够了
a_nodes = soup.find_all("a", {"style": "height:81px;"})
hrefs = [a_node.get('href') for a_node in a_nodes] # and this extracts hrefs from those
您的代码不会拆分,因为您正尝试拆分单个URL,并且其中没有空格(我想这也不是您想要的)。