在我的代码中,我试图使用.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,并且其中没有空格(我想这也不是您想要的)。

10-06 12:29