解析嵌入式css beautifulsoup-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

解析嵌入式css beautifulsoup

2019-01-23 10:51:26 1472 1

是否可以从html标记中提取嵌入的css属性?例如,假设我想找出“s5”的vertical-align属性是什么。

我目前正在使用beautifulsoup并检索了span-tag tag=soup.find(class_="s5")。我试过tag.attrs["class"]但是这只是给了我s5,没有办法将它链接到嵌入式样式。是否可以在python中执行此操作?我发现的这类问题涉及解析内联css样式。

<head>
    <style type="text/css">
    * {margin:0; padding:0; text-indent:0; }
    .s5 {color: #000; font-family:Verdana, sans-serif; 
         font-style: normal; font-weight: normal; 
         text-decoration: none; font-size: 17.5pt; 
         vertical-align: 10pt;}
    </style>
</head>

<body>
    <p class="s1" style="padding-left: 7pt; text-indent: 0pt; text-align:left;">
    This is a sample sentence. <span class="s5"> 1</span>
    </p>
</body>

取消 提交回答
全部回答(1)
  • 一码平川MACHEL
    2019-07-17 23:26:33

    你可以使用像cssutils这样的css解析器。我不知道包中是否有一个函数来执行这样的操作(有人可以对此进行评论吗?),但我做了一个自定义函数来获取它。

    from bs4 import BeautifulSoup
    import cssutils
    html='''

    <head>
        <style type="text/css">
        * {margin:0; padding:0; text-indent:0; }
        .s5 {color: #000; font-family:Verdana, sans-serif;
             font-style: normal; font-weight: normal;
             text-decoration: none; font-size: 17.5pt;
             vertical-align: 10pt;}
        </style>
    </head>
    
    <body>
        <p class="s1" style="padding-left: 7pt; text-indent: 0pt; text-align:left;">
        This is a sample sentence. <span class="s5"> 1</span>
        </p>
    </body>


    '''
    def get_property(class_name,property_name):

    for rule in sheet:
        if rule.selectorText=='.'+class_name:
            for property in rule.style:
                if property.name==property_name:
                    return property.value

    soup=BeautifulSoup(html,'html.parser')
    sheet=cssutils.parseString(soup.find('style').text)
    vl=get_property('s5','vertical-align')
    print(vl)
    产量

    10pt
    这并不完美,但也许你可以改进它。

    0 0
相关问答

2

回答

JS/CSS 选项卡

2020-02-13 19:32:18 621浏览量 回答数 2

1

回答

JS/CSS 注册表单

2020-02-13 16:46:15 465浏览量 回答数 1

1

回答

JS/CSS 登录表单

2020-02-13 16:43:12 471浏览量 回答数 1

1

回答

JS/CSS 全屏幕侧边栏

2020-02-13 16:18:01 477浏览量 回答数 1

1

回答

JS/CSS 右侧侧边栏

2020-02-13 16:12:26 431浏览量 回答数 1

1

回答

css和js怎么设置

2018-05-10 20:05:45 1253浏览量 回答数 1

1

回答

利用js获取外部css里的样式属性

2016-03-26 11:01:28 1823浏览量 回答数 1

1

回答

CSS3动画和js动画各有什么优劣

2016-03-26 09:49:05 2560浏览量 回答数 1

1

回答

把JS、CSS文件都放在OSS上行吗?

2013-10-10 16:04:02 9361浏览量 回答数 1

5

回答

**********懂CSS3的进来,貌似还是JS?************

2013-04-30 00:46:44 5670浏览量 回答数 5
47
文章
723
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载