python - 使用 Python 获得 Beautiful Soup 的特定价值
问题描述
如果我想获得特定值,我有这段代码可以提取网站上的所有数字,我该怎么做?我这样做了,但它不起作用
import urllib
import re
import requests
from bs4 import *
url = requests.get("http://python-data.dr-chuck.net/comments_216543.html")
soup = BeautifulSoup(url.content, "html.parser")
sum=0
tags = soup('span')
for tag in tags:
y=str(tag)
x= re.findall("[0-9]+",y)
for i in x:
print (i[1])
解决方案
要获取标签“Coby”,您可以使用将自定义函数传递给.find()
:
import requests
from bs4 import *
url = requests.get("http://python-data.dr-chuck.net/comments_216543.html")
soup = BeautifulSoup(url.content, "html.parser")
coby = soup.find(lambda tag: tag.name == "tr" and "Coby" in tag.text)
print(coby.get_text(separator=" "))
输出:
Coby 95
或者,仅获取评论,请使用.find_next()
:
print(coby.find_next("span", class_="comments").get_text())
输出:
95
推荐阅读
- joomla3.9 - 搜索结果页面中的 URL 错误,而不是文章指定菜单项的 URL
- javascript - 是否可以使用 Node.js 从 React 获取 HTML 和 CSS 输出?
- asp.net-core - EF Core Scaffold 自定义实体和 DBContext
- python - 动态更新标签/按钮文本
- angular - 从暗模式将参数从页面传递到 app.component
- json - “类型集不是 JSON 可序列化的”,但数据是 dict - python
- r - 将矩阵与r中的向量进行比较时如何返回匹配行的索引
- c# - C# Itext7 使用阿拉伯语文本
- python - 两个不同 Django 模型的外键
- javascript - 拒绝加载脚本,因为它违反了以下内容安全策略指令