首页 > 解决方案 > 如何使用 Python 访问具有相同类名的第二个元素

问题描述

例如,在网页上有两列链接。你想从网上抓取所有的 url,但是使用 BeautifulSoup 和 find 只是定位和返回第一列。

此代码找到第一列并且工作得很好:

column=content.find('div',{'class': 'className'})

那么如何获得与第一列具有相同“className”的“div”元素下的第二列?

有没有办法找到所有然后选择[0]和[1]并将它们分配给不同的变量或相同的变量?我希望所有链接最终都在同一个变量下。我也尝试过使用

find_next

但它返回此错误:

AttributeError: 'NoneType' object has no attribute 'prettify'

这让我相信,当我尝试将内容分配给第二个变量时,它不会导致任何事情发生。感谢帮助!

标签: pythonhtmlweb-scraping

解决方案


使用 find_all 而不是 find 并选择第二个索引。

columns=content.find_all('div',{'class': 'className'})
print(columns[1].text)
print(columns[0].text)

推荐阅读