【问题标题】:Python: scrape a Javascript linePython:抓取一条 Javascript 行
【发布时间】:2016-11-14 04:06:20
【问题描述】:

我想在 Python 中抓取包含 JSON 数据的 Javascript 行。例如:

AH4RSearch.listingsJSON = $.parseJSON('{"properties":[{"Price":3695,"PriceFormatted":"3,695","Street":"9251 E Bajada Road"}');

我知道在我可以得到$.parseJSON 的内容后,我可以使用json.loads 将其存储为JSON 格式,但是我如何从Javascript 行获取这些内容?

【问题讨论】:

  • 它只是字符串/文本,所以请使用标准字符串函数,如split() 和切片[start:end]

标签: javascript python json web-scraping


【解决方案1】:

您可能需要re 来提取数据

import re
import json
your_js_string = """AH4RSearch.listingsJSON = $.parseJSON('{"properties":[{"Price":3695,"PriceFormatted":"3,695","Street":"9251 E Bajada Road"}');"""

m = re.search(r'\$\.parseJSON\(\'(.*?)\'\);', your_js_string)
print json.loads(m.group(1))
# oh, no, your json is broken

【讨论】:

    【解决方案2】:

    对于 Python,它只是字符串,因此请使用标准字符串函数 - 例如 split() 或切片 [start:end]

    import json
    
    text = '''AH4RSearch.listingsJSON = $.parseJSON('{"properties":[{"Price":3695,"PriceFormatted":"3,695","Street":"9251 E Bajada Road"}]}')'''
    
    data = json.loads(text[39:-2])
    
    print(data['properties'][0]['Price'])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多