0

我目前正在使用 urllib2、pyquery 和 json 的融合来抓取网站,现在我发现我需要从 JavaScript 中提取一些数据。一种想法是使用 JavaScript 引擎(如 V8),但这对于我需要的东西来说似乎有点矫枉过正。我会使用正则表达式,但这个表达式似乎很复杂。

JavaScript:

(function(){DOM.appendContent(this, HTML("<html>"));;})

我需要提取<html>,但我不完全确定该怎么做。<html>本身基本上可以包含太阳下的所有字符,因此行不通[^"]

有什么想法吗?

4

2 回答 2

2

为什么是正则表达式?您不能只使用两个子字符串,因为您知道要从开头和结尾修剪多少个字符?

string[42:-7]

除了比正则表达式更快之外,内部的引号是否被转义都无关紧要<html>

于 2011-01-28T09:17:59.427 回答
1

如果"html 代码中的每一次出现都将通过 using 转义\"(毕竟它是一个 JavaScript 字符串),你可以使用

HTML\("((?:\\"|.)*?)"\)

将 HTML 参数获取到第一个捕获组中。

请注意,此 Regex 尚未转义为 Javascript 字符串本身。

于 2011-01-28T07:38:55.263 回答