想帮助从嵌入在使用Mechanize过滤的javascript文本中的模型数据中提取

时间:2013-02-27 16:08:31

标签: ruby screen-scraping nokogiri mechanize

使用以下内容:

LowEast = agent.get('https://rs.alarmnet.com/TotalConnectComfort/Device/Control/12345')
puts LowEast.parser.xpath("//script[@type='text/javascript']")

返回后面的内容,为简洁起见,我略微将其截断。具体来说,我想在每个分号之前提取两条信息,然后我将弄清楚如何将它们转储到日志文件中。我还没有看到如何做到这一点,但似乎不应该这么做。如果我错过了类似的问题,我道歉。

<script type="text/javascript" src="/TotalConnectComfort/Scripts/Control/Control.Urls.js?v=1.5.46"></script>
<script type="text/javascript" src="/TotalConnectComfort/Scripts/Control/Control.Init.js?v=1.5.46"></script>
<script type="text/javascript">
    $(document).ready(function() 
    {
        ///////////////////// pass model data to client-side logic /////////////////////
        Control.Model.set(Control.Model.Property.batteryStatus, 0);
        Control.Model.set(Control.Model.Property.commercial, false);
        Control.Model.set(Control.Model.Property.communicationLost, false);
        Control.Model.set(Control.Model.Property.coolLowerSetpLimit, 50.0000);
        Control.Model.set(Control.Model.Property.coolNextPeriod, 88);
        Control.Model.set(Control.Model.Property.coolSetpoint, 78.0000);
        Control.Model.set(Control.Model.Property.coolUpperSetptLimit, 99.0000);
        Control.Model.set(Control.Model.Property.deadband, 0.0000);

1 个答案:

答案 0 :(得分:0)

只需使用扫描:

text.scan /Control.Model.set\((.*), (.*)\);/