Python BeautifulSoup 使用标签中的文本并存储为变量
Posted
技术标签:
【中文标题】Python BeautifulSoup 使用标签中的文本并存储为变量【英文标题】:Python BeautifulSoup Use Text out of tags and store as variable 【发布时间】:2021-07-17 03:22:25 【问题描述】:我目前正在尝试解析来自特定网页的文本,到目前为止效果很好。我只是在努力“让”文本进一步使用它。
到目前为止,我的代码如下所示:
basename (URL which will be scraped in general)
request_two = requests.get("https://www.billiger.de/shops?shopsearch=" + basename)
def find_tags_from_class(html):
soup = BeautifulSoup(html.content, "html.parser")
div = soup.find("div", class_="svg-rating-stars large blue")
print(div)
这会打印出<div class="svg-rating-stars large blue" style="--rating: 100.0"></div>
或<div class="svg-rating-stars large blue" style="--rating: 98.3"></div>
(取决于用户要检查的商店(基本名称))
由于这可能会有所不同,我想检查在“svg-rating-stars large blue”类中解析的评分是否大于或等于 80。有可能这样做吗?我对 python 和 webscraping 还很陌生,现在找不到任何解决方案。
【问题讨论】:
【参考方案1】:您可以使用get
访问 div 属性。然后您必须将字符串转换为浮点数,以便确定它是否为 GTE 80。Rating 是布尔值,如果 >= 80 则为 True,否则为 False。
rating = False
if div.get('style'):
try:
rating = float(div.get('style').split()[-1]) >= 80
except:
pass
【讨论】:
以上是关于Python BeautifulSoup 使用标签中的文本并存储为变量的主要内容,如果未能解决你的问题,请参考以下文章
Python中BeautifulSoup中对HTML标签的提取
Python BeautifulSoup 获取文本第一个标签
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解(新手必学)
关于python中BeautifulSoup多层嵌套下标签内容寻找使用方法。