使用蟒蛇x路径将 Javascript 数组作为键值对读取

如何使用蟒蛇xpath将下面的Javascript数组作为键值对读取?在蟒蛇中,Output将是[“id”,“359521”,“名称”,“HO1迷你简报HO1”等]


可能在1中去获取一个python列表元素,我可以在其中访问数据


帮助赞赏


以公文形式写成的




<script type="text/javascript">    

    var wcIsGtm = false;

    var productImpressions = [];

    var promoImpressions = [];

    var wcGuaTrackerName = '';

    var wcGuaGlobalTrackerName = 'allstores.';

    var wcGuaGlobalTrackerEnabled = '0';


    var referralExclusionList = [];


    if(document.referrer) {

        for(excludedDomain in referralExclusionList) {

            if(document.referrer.indexOf(excludedDomain) != -1) {

                document.referrer = '';

            }

        }

    }



        (function(w,e,b,c,oo,ki,ng){w['GoogleAnalyticsObject']=oo;w[oo]=w[oo]||function(){

        (w[oo].q=w[oo].q||[]).push(arguments)},w[oo].l=1*new Date();ki=e.createElement(b),

        ng=e.getElementsByTagName(b)[0];ki.async=1;ki.src=c;ng.parentNode.insertBefore(ki,ng)

        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');


    ga('create', 'UA-19354276-10', 'auto');

ga('require', 'ec');

ga('set', '&cu', 'EUR');




             var productDetail = {

                 'id': '359521',

                 'name': 'HO1 mini-briefs HO1',

                 'category': 'Collection HOM Basics/Slips',

                 'brand': '',

                 'price': '10.4',

                 'variant': ''

             };

             ga('ec:addProduct', productDetail);

             ga('ec:setAction', 'detail');



ga('send', 'pageview');



</script>



<meta property="og:locale" content="en_US" />

<meta property="og:title" content="HO1 mini-briefs HO1" />

<meta property="og:type" content="product" />


另一个例子是


    var AWACP_CONFIG = {

        mageVersion: '1.9.3.1',

        useProgress : 1,

        popupForAllProducts : 0,

        addProductConfirmationEnabled : 1,

        removeProductConfirmationEnabled : 1,

        dialogsVAlign: 'center',

        cartAnimation: 'opacity',

        addProductCounterBeginFrom : 0,

        removeProductCounterBeginFrom : 0,



        hasFileOption : false    };



潇湘沐
浏览 86回答 1
1回答

开满天机

如果我对你的理解是正确的,你可以做下面这样的事情。请注意,xpath在这里不起作用,正则表达式是有问题的。因此,我认为,最干净的方法是使用字符串操作和字典。对于第一个:arr = """your first html example"splt_str = 'var productDetail = {'trg = arr.split(splt_str)[1].split('}')[0].split(',')stf = {}for t in trg:&nbsp; &nbsp; entry = t.strip().replace("'","").split(':')&nbsp; &nbsp; stf[entry[0]]= entry[1]for k, v in stf.items():&nbsp; &nbsp; print(k, v)输出:id&nbsp; 4002021name&nbsp; Tommy stringcategory&nbsp; Collection Brand Basicsbrand&nbsp;&nbsp;price&nbsp; 8.31variant&nbsp;&nbsp;对于第二行,将前两行更改为:arr = """your second html example"splt_str = 'var AWACP_CONFIG = {'输出:mageVersion&nbsp; 1.9.3.1useProgress&nbsp; &nbsp;1popupForAllProducts&nbsp; &nbsp;0addProductConfirmationEnabled&nbsp; &nbsp;1removeProductConfirmationEnabled&nbsp; &nbsp;1dialogsVAlign&nbsp; centercartAnimation&nbsp; opacityaddProductCounterBeginFrom&nbsp; &nbsp;0removeProductCounterBeginFrom&nbsp; &nbsp;0hasFileOption&nbsp; &nbsp;false
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python