从JavaScript中提取数据(Python Scraper)

时间:2011-01-28 06:28:46

标签: javascript python regex web-scraping scraper

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

JavaScript的:

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

我需要提取<html>,但我不完全确定如何这样做。 <html>本身基本上可以包含太阳下的每个角色,因此[^"]将不起作用。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

为何选择正则表达式?难道你不能只使用两个子串,因为你知道要在开始和结束时修剪多少个字符?

string[42:-7]

除了比正则表达式更快之外,<html>内的引号是否被转义并不重要。

答案 1 :(得分:1)

如果使用"(毕竟它是一个JavaScript字符串)来转义html代码中的每个\",都可以使用

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

将HTML参数转换为第一个捕获组。

请注意,此正则表达式尚未转义为Javascript字符串本身。