如何使用pythonlxm提取javascript变量的值

2024-09-28 20:54:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图获取html页面中javascript变量的值。我已经知道了如何获取所有脚本标记的文本,但似乎不知道如何获取脚本标记中特定变量的文本。有人知道如何获取javascript变量的文本吗?在

下面是我要分析的一个例子。我试图得到“var d”的值

<div id="box" style="position:absolute;z-index:6;left:px;top:450px;"></div> 
    <script language="javascript"> 
    function showTooltip(element, town_name, p, points, a, town_type){
        var t = $('tt');
        t.style.top = (-75 + element.offsetTop) +  'px';
        t.style.left = (25 + element.offsetLeft) + 'px';
        t.style.backgroundImage="url('images/odd.png')";
        t.innerHTML = '<font color=#AD4100>' + unescape(town_name) + '<br/>' + unescape(p) + '<br/>' + points + '<br/>' + unescape(a) + '<br/>' + unescape(town_type) + '</font>';
        t.show();
    }
    function hideTooltip(){
        $('tt').hide();
    }
var d = [[1490.77265625,1373.4140625,30983,'TownID: 30983','GREY','circle_grey.png',1248,'planet x\'s city 5','','N/A'],[1186.45390625,1538.265625,33009,'TownID: 33009','GREY','circle_grey.png',1150,'wendyshome','','N/A'],[1234.496875,856.18203125,31646,'TownID: 31646','GREY','circle_grey.png',1312,'...','','N/A'],[1041.30078125,812.55859375,35358,'TownID: 35358','GREY','circle_grey.png',1207,'Waterville','','N/A'],

下面是我获取所有脚本标记文本的代码片段。在

^{pr2}$

Tags: 标记文本br脚本pngstylevarjavascript
1条回答
网友
1楼 · 发布于 2024-09-28 20:54:53

一旦提取了scriptText,就必须对scriptText使用字符串处理。lxml在这里帮不了你。在

如果var d是脚本中的最后一个条目,则可以使用:

var_d_source = scriptText.split('var d =', 1)[-1].rsplit(';', 1)[0].strip()

它应该给出var d =之后直到最后一个分号的所有内容。在

然后使用json模块将值转换为Python:

^{pr2}$

相关问题 更多 >