如何在HTML源代码中提取javascript变量

时间:2015-03-26 02:13:56

标签: javascript python html web-scraping beautifulsoup

我试图使用python从网页中提取一些javascript。 我设法隔离了javascript(其中包含我需要的数据)但是我无法定位具有我需要的信息的js变量。

javascript的格式如下所示

javascript在python中存储了一个名为links

的变量

使用<>

替换脚本代码中的{}

links = {script type="text/javascript"} var ADC = ADC || {}; ADC.model = {};ADC.model.search = {"count": 48, "title": "Commercial Real Estate for Sale", "h1_text": "Commercial Properties for Sale", "asset": [{"pre_auction_enabled": false, "available": true, "registration_url": "http://www.auction.com/registration/event/commercial/B-152/8024124/",....}]}

我缩短了ADC.model.search的内容,但其余数据遵循相同的格式。我只需要ADC.model.search变量中包含的信息。

通过执行以下操作来隔离javascript:

links = source_code.find_all("script", {"type" : "text/javascript"})

其中source_code是我试图抓取的页面的整个源代码

如何提取ADC.model.search的内容?

1 个答案:

答案 0 :(得分:0)

正则表达式怎么样?

链接来自您上面的代码;

import re
pattern='ADC\.model\.search=([^;\]]+?)'
match = re.match(pattern, links, re.i)  # 'links' goes from your code abouve 
print match.group(1)