python - 如何使用漂亮的汤仅从输入中获取值
问题描述
我有一个使用漂亮汤的代码,可以完美地通过其 id 获取元素(我必须通过 id 获取)。但我的输出如下:
[<td id="testebia"><input type="text" value="123599"/></td>]
我只能简化为:
<input type="text" value="123599"/>
使用以下代码:
from bs4 import BeautifulSoup
import requests
url = ('https://naughty-poincare-e28558.netlify.app/')
r = requests.get(url)
html_content = r.text
soup = BeautifulSoup(html_content, 'html.parser')
number = soup.select("#testebia")
for lista_dados in number:
print(lista_dados.next_element)
我该怎么做才能只获得价值?在这种情况下 123599
解决方案
您可以选择<input>
并获取value=
属性:
import requests
from bs4 import BeautifulSoup
url = "https://naughty-poincare-e28558.netlify.app/"
soup = BeautifulSoup(requests.get(url).content, "html.parser")
val = soup.select_one("#testebia > input")["value"]
print(val)
印刷:
123599
或使用您的代码:
for n in soup.select("#testebia"):
print(n.find("input")["value"])
推荐阅读
- c++ - 使用 MQTT 和 C++ 无法解析的外部符号?
- unity3d - 从 JSON 文件动态加载精灵不起作用
- html - 将示例用法(降价?)添加到 JavaDocs
- c# - 透明动图框
- clang - Windows Sublime 和 LSP-Clangd 插件:找不到 C++ 标头
- c - 具有递归功能的中国年轮
- google-sheets - Google表格中的持续时间公式问题
- python - 使用 CSV 文件进行 Google 翻译
- javascript - 如何将输入的值添加到 li 列表?
- amazon-web-services - AWS 应用程序负载均衡器 Cname 连接被拒绝