【发布时间】:2015-07-29 08:14:43
【问题描述】:
我的蜘蛛将 javascript 代码作为字符串返回。从这段代码中,我需要检索一个可以通过其键识别的数组。
也就是说,我已经有了密钥,但是如何获得完整的数组呢?另外,我不知道数组的名称。
正则表达式合适吗?或者有没有好的方法来实现这一目标? 谢谢!
编辑:
Java 代码的一部分看起来像这样(抱歉,将所有内容复制到这里太多且不必要):
{var P=parseInt($(".secondary-results-count").html());if(P-1<1){$(".secondary-results-show").hide()}else{$(".secondary-results-count").html(P-1)}}},hasOffers:function(M){if(M.result.offer&&M.result.offer.offers){return(M.result.offer.offers.length>0)?true:false}return false},queryCompanyInfo:function(O,M,N){new QueryCompanyInfo({companyInfoId:O,bookingId:M},function(Q){if(Q.status=="Ok"){var P=arrayStore.inst("offersId");var R=P.get(M);R.company=Q.result.companyInfo;P.put(M,R);if(N){N(Q,P.get(M))}}}).query()},createOfferHtml:function(O){arrayStore.inst("offersId").put(O.bookingId,{price:O,company:null});var aq={"-2":"Best Value","-3":"Executive","-4":"Minibus","-1":"Other","0":"NotSet","1":"Compact","2":"Sedan","3":"PeopleCarrier","4":"SUV","5":"VanOrMinibus","6":"Coach","7":"StretchLimo","8":"StationWagon","9":"Convertible","102":"SportsCar","104":"Offroad","105":"PickupTruck","106":"Motorcycle","107":"Rickshaw","108":"WaterTaxi"};var Z=12; ...
而且我知道键“-1”、“-2”、“-3”。
【问题讨论】:
-
请通过添加字符串来改进您的问题,并告诉您对字符串的哪些部分感兴趣以及您已经尝试过什么。您的问题太宽泛了,可以这样回答:“是的,正则表达式很好”。
-
问题是这只是代码中的一个sn-p,它是一个字符串。也许你可以帮助正则表达式?因为我不知道该怎么做
-
然后创建一个新问题,其中包含您的字符串、您的正则表达式、您得到什么以及您期望什么的最小示例。请不要指望我做这项工作,因为你不想做。
-
很抱歉你采取了这种方式,但我征求的是意见,而不是你做我的工作。我有这个正则表达式,它现在可以工作
(\{[^\{\}\(\)]*\"-1\".*\})。我只是认为可能有一个更优雅的解决方案......
标签: regex python-2.7 web-scraping scrapy