python - 我们如何使用python从HTML文件中提取数据
问题描述
<p style="font-size: small;" class="apple"><a name="XREF_4567_Figure1_1"></a>Assembly, 1234, 456 & 789</p>
<div align="center"><image alt="apple.jpg" id="image2" source="assets/apple.jpg" />
</div>
在上面的html代码中,我们需要提取“Assembly, 1234, 456 & 789”和“apple.jpg”
我的python代码如下
for line in f:
if 'div align' in line.lower():
#get value after class="
myline=line.split("alt=\"")
#get value before "
number=myline[1].split("\"")[0]
numbers[i].append(number)
#print(count)
#subtract oldcount to find the count of hotspots in current file
count[i].append(0)
count[i].append(len(numbers[i])-oldcount)
i = i + 1
#print(i)
解决方案
您可以BeautifulSoup
从库中使用它bs4
:
from bs4 import BeautifulSoup
html = '<p style="font-size: small;" class="apple"><a name="XREF_4567_Figure1_1"></a>Assembly, 1234, 456 & 789</p><div align="center"><image alt="apple.jpg" id="image2" source="assets/apple.jpg" /> </div>'
bs = BeautifulSoup(html, 'html.parser')
print(bs.find('p').get_text())
print(bs.find('image').get("alt"))
推荐阅读
- php - Opencart:不保存制造商
- javascript - Android:从 html href 打开一个文本应用程序
- youtube-data-api - 配额的 7 天峰值使用限制在 Google Cloud 上意味着什么?
- openapi - 在开放 api 规范中将 BASE_PATH 变量值配置为“/”?
- javascript - Ionic 4 routerDirection 实际上并没有为页面设置动画
- node.js - express.js 中的异步方法链接
- python - Python评估一个字符串(正则表达式可以工作吗?)
- microservices - 单个数据摄取服务与多个单独的微服务?
- java - CSVPrinter 在生成 csv 时将 \ 附加到长字符串
- python - 根据条件计算降雨季节的开始