【问题标题】:Parsing JS variables and functions with Python BeautifulSoup用 Python Beautifulsoup 解析 JS
【发布时间】:2021-04-26 15:14:36
【问题描述】:

我用漂亮的汤解析了一些页面。我想得到“http://dm/dd/8525_92433.m4a”。

如何从该输入中获取值?

谢谢

<script>
    var ap = new APlayer({
                element: document.getElementById("player"),
                narrow: !1,
                autoplay: !1,
                theme: "#ffa42f",
                music: {
                    title: "212121",
                    author: "a",
                    url: "http://m/dd/8525_92433.m4a",
                    pic: "https://s1.aaaax1x.com/2020/06/13/tj1eln.png"
                                    }
            }),
            as = $("#as-con"),
            mask = $("#as-mask");
    function hideActionSheet() {
        as.removeClass("weui-actionsheet_toggle"),
                mask.hide()
    }
    mask.on("click", hideActionSheet),
            $("#as-cancel").on("click", hideActionSheet),
            $("#speed-control-tab").on("click", function() {
                as.addClass("weui-actionsheet_toggle"),
                        mask.show()
            }),
            $(".speed-item").on("click", function() {
                var e = $(this).data("v");
                ap.audio.playbackRate = e,
                        $("#speed-control-tab").find("p").html(e + "x"),
                        $(".speed-item").removeClass("ycolor"),
                        $(this).addClass("ycolor"),
                        hideActionSheet()
            });
</script>]

【问题讨论】:

  • 使用 Beautifulsoup,您可以将其解析为字符串并使用字符串方法,并将其解析为 json,然后从那里开始工作

标签: javascript python beautifulsoup


【解决方案1】:

你可以使用正则来匹配

>>> import re 
>>> js_html = '''<script>
    var ap = new APlayer({
                element: document.getElementById("player"),
                narrow: !1,
                autoplay: !1,
                theme: "#ffa42f",
                music: {
                    title: "212121",
                    author: "a",
                    url: "http://daohuolab.oss-cn-beijing.aliyuncs.com/dd/8525_92433.m4a",
                    pic: "https://s1.aaaax1x.com/2020/06/13/tj1eln.png"
                                    }
            }),
            as = $("#as-con"),
            mask = $("#as-mask");
    function hideActionSheet() {
        as.removeClass("weui-actionsheet_toggle"),
                mask.hide()
    }
    mask.on("click", hideActionSheet),
            $("#as-cancel").on("click", hideActionSheet),
            $("#speed-control-tab").on("click", function() {
                as.addClass("weui-actionsheet_toggle"),
                        mask.show()
            }),
            $(".speed-item").on("click", function() {
                var e = $(this).data("v");
                ap.audio.playbackRate = e,
                        $("#speed-control-tab").find("p").html(e + "x"),
                        $(".speed-item").removeClass("ycolor"),
                        $(this).addClass("ycolor"),
                        hideActionSheet()
            });
</script>]'''

>>> res = r'url: "(.*?)"'
>>> surls = re.findall(res, js_html)
>>> surls
['http://daohuolab.oss-cn-beijing.aliyuncs.com/dd/8525_92433.m4a']

【讨论】:

    猜你喜欢
    • 2012-01-26
    • 1970-01-01
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    • 2011-05-03
    • 2014-03-06
    • 2014-06-16
    相关资源
    最近更新 更多