本站消息

站长简介/公众号


站长简介:高级软件工程师,曾在阿里云,每日优鲜从事全栈开发工作,利用周末时间开发出本站,欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何提取被两个 <span> 元素包围的文本?

发布于2021-12-02 03:17     阅读(944)     评论(0)     点赞(23)     收藏(1)



我正在从网站抓取数据,但遇到以下代码

code = "<li class="price-current">
<span class="price-current-label">
</span>₹ 7,372 
            <span class="price-current-range">
<abbr title="to">–</abbr>
</span>
</li> "

我只需要提取“₹7,372”。

我试过跟随。1.Code.text 但结果是

'\n\n₹ 7,372\xa0\r\n            \n–\n\n'
  1. code.text.strip() 但结果是

    '₹7,372\xa0\r\n\n-'

有什么方法吗?请让我知道,以便我可以完成我的项目。


解决方案


好的,我设法清理了您需要的数据。这种方式有点丑,但有效=)

from bs4 import BeautifulSoup as BS

html= """<li class="price-current">
<span class="price-current-label">
</span>₹ 7,372 
            <span class="price-current-range">
<abbr title="to">–</abbr>
</span>
</li> """

soup=BS(html)

li = soup.find('li').text

for j in range(3):
    for i in ['\n',' ', '–', '\xa0', '\r','\x20','\x0a','\x09','\x0c','\x0d']:
        li=li.strip(i)

print(li)

输出:

7,372

在循环列表中,我概述了所有(据我所知)ASCII 空格和您得到的符号。

循环启动 3 次,因为需要的值从第一次开始就没有清除,您可以在变量资源管理器中每次迭代检查它。

也可以选择尝试找出哪些精确符号spaces<span>标签之间提供了大量伪代码。







所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1107002/03ddda1209f08916b92f/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

23 0
收藏该文
已收藏

评论内容:(最多支持255个字符)