我目前正在使用urllib2、pyquery和json的融合来抓取站点,现在我发现我需要从JavaScript中提取一些数据。一种想法是使用JavaScript引擎(如V8),但这似乎对我所需的东西过于苛刻。我会使用正则表达式,但是这个表达式似乎太复杂了。
JavaScript:
(function(){DOM.appendContent(this, HTML("<html>"));;})我需要提取<html>,但我不完全确定如何做到这一点。<html>本身基本上可以包含所有字符,所以[^"]不能工作。
有什么想法吗?
发布于 2011-01-28 17:17:59
为什么使用正则表达式?你不能只使用两个子字符串,因为你知道你想要修剪多少个字符的开始和结束?
string[42:-7]除了比正则表达式更快之外,<html>中的引号是否转义也无关紧要。
发布于 2011-01-28 15:38:55
如果html代码中出现的每个"都可以使用\"进行转义(毕竟它是一个JavaScript字符串),那么您可以使用
HTML\("((?:\\"|.)*?)"\)将HTML的参数放入第一个捕获组。
请注意,此正则表达式尚未转义为Javascript字符串本身。
https://stackoverflow.com/questions/4825509
复制相似问题