python - 如何使用 Python 访问具有相同类名的第二个元素
问题描述
例如,在网页上有两列链接。你想从网上抓取所有的 url,但是使用 BeautifulSoup 和 find 只是定位和返回第一列。
此代码找到第一列并且工作得很好:
column=content.find('div',{'class': 'className'})
那么如何获得与第一列具有相同“className”的“div”元素下的第二列?
有没有办法找到所有然后选择[0]和[1]并将它们分配给不同的变量或相同的变量?我希望所有链接最终都在同一个变量下。我也尝试过使用
find_next
但它返回此错误:
AttributeError: 'NoneType' object has no attribute 'prettify'
这让我相信,当我尝试将内容分配给第二个变量时,它不会导致任何事情发生。感谢帮助!
解决方案
使用 find_all 而不是 find 并选择第二个索引。
columns=content.find_all('div',{'class': 'className'})
print(columns[1].text)
print(columns[0].text)
推荐阅读
- laravel - Laravel CSRF 保护是否提供 100% 的安全性?
- python - 使用 SLL 返回对象地址而不是实际值的堆栈查看方法
- java - Flutter/Dart - FlutterFirebaseMessagingPlugin.java - 构建失败并出现异常“错误:找不到符号”
- powershell - 抑制 get-azureaddomain 的输出
- c++ - 为什么 C++ 中 std::string 的复制方法在该程序中表现出奇怪的行为?
- django - Django 连接到托管在 Amazon EC2 上的 Redis 服务器
- javascript - javascript - scrollToView(false) 不工作
- javascript - 如何以角度读取css变量?
- tcp - webRTC 应用程序多久需要一次 TURN 服务器
- java - 使用 Spring Boot 将自定义 Http 标头添加到 SOAP 请求