python - 需要帮助从 Python 中提取 4 个数字
问题描述
我现在编写的代码可以打开一个 URL 并将 HTML 数据提取到htmlA
在htmlA
我试图提取4条信息
- 一个约会
- 价格 1
- 价格 2
- 一个百分比
htmlA
嵌入这 4 条信息的部分如下所示:
<!-- TAB CONTENT -->\r\n\t\t\t<div class="fund-content tab-content span12">\r\n\r\n\t\t\t\t<!-- OVERVIEW -->\r\n\t\t\t\t<div class="tab-pane active" id="overview">\r\n\t\t\t\t\t<h3 class="subhead tab-header">Overview</h3>\r\n\t\t\t\t\t<div class="row-fluid">\r\n\t\t\t\t\t\t<div class="span6">\r\n\t\t\t\t\t\t\t<p class="as-of-date">\r\n\t\t\t\t\t\t\t\t<span id="ContentPlaceHolder1_cph_main_cph_main_AsOfLabel">As of 9/24/2021</span>\r\n\t\t\t\t\t\t\t</p>\r\n\r\n\t\t\t\t\t\t\t<div class="table-wrapper">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t<table class="cefconnect-table-1 table table-striped" cellspacing="0" cellpadding="5" Border="0" id="ContentPlaceHolder1_cph_main_cph_main_SummaryGrid">\r\n\t\t<tr class="tr-header">\r\n\t\t\t<th scope="col"> </th><th class="right-align" scope="col">Share<br>Price</th><th class="right-align" scope="col">NAV</th><th class="right-align" scope="col">Premium/<br>Discount</th>\r\n\t\t</tr><tr>\r\n\t\t\t<td>Current</td><td class="right-align">$19.14</td><td class="right-align">$21.82</td><td class="right-align">-12.28%</
在此示例中,我希望提取:
- 2021 年 9 月 24 日
- 19.14 美元
- 21.82 美元
- -12.28%
我正在尝试使用 BeautifulSoup 进行搜索和提取htmlA
,但无法挑选出我需要的特定信息位(第 4 位)。有人可以帮我编写执行此操作的代码吗?非常感谢!
解决方案
我不能给你一个完整的答案,但我可以为你指出正确的方向。
您需要将 html 内容解析为 BeautifulSoup 对象,以便以 Python 方式处理网页内容。像这样,
from bs4 import BeautifulSoup
import requests
url = 'https://en.wikipedia.org/wiki/Elon_Musk'
html = requests.get(url)
soup = BeautifulSoup(html.content, 'html.parser')
一旦你有了 var 汤,你可以调用各种方法,比如,
print(soup.div)
这会给你一个 div 元素等。
更多示例:
soup.title
# <title>The Dormouse's story</title>
soup.title.name
# u'title'
soup.title.string
# u'The Dormouse's story'
soup.title.parent.name
# u'head'
soup.p
# <p class="title"><b>The Dormouse's story</b></p>
soup.p['class']
# u'title'
soup.a
# <a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>
soup.find_all('a')
# [<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>,
# <a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>,
# <a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>]
soup.find(id="link3")
# <a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>
推荐阅读
- bash - 在管道中更改文件后,将文件从 gitlab-ci 推送到存储库
- kubernetes - Kubernetes 中的日志审计
- ruby-on-rails - Rails 6 会话数据不持久
- python - 我可以检查:ONE if 语句中的字符串中的 x, y 而不使用额外的 elifs
- android - ViewModel 的 observe() 方法没有正确观察
- go - 通过 Golang 代码使用服务帐户凭据从 GCR 中提取图像
- python-3.x - 如何跟踪可移动 QTab 的本地位置?
- python - 使用 NEOS 作为 Pyomo 求解器
- swift - 在 Stripe PaymentOptionViewController 中未调用添加新卡
- ios - 如果不推荐使用 NetService,我应该如何在 macOS 上执行 mDNS?