zoukankan      html  css  js  c++  java
  • 反爬虫,非标准的json格式解析

    反爬虫,非标准的json格式解析

    今天写爬虫的时候,发现有一些数据都是通过非标准的 json 格式进行传输的,标准的 json 我们可以将其转化为 Python 中的数据类型,进行查询,但对于一些类似于 json 但又非标准 json 格式的字符,就会比较头疼了。

    例如下面这样

    hxbase_json1({
    list: [
    {Number: "1", StockNameLink: "stock_bg.aspx?code=688008&date=2019-12-31", industry: "澜起科技(688008)"}
    {Number: "2", StockNameLink: "stock_bg.aspx?code=600663&date=2019-12-31", industry: "陆家嘴(600663)"}
    {Number: "3", StockNameLink: "stock_bg.aspx?code=000006&date=2019-12-31", industry: "深振业A(000006)"}]})
    

    看上去格式和 json 很像,但仔细观察会发现,这其中的 key 没有被单引号包裹起来,这就导致了它无法被简单的解析为字典类型。

    自己用正则去重新构建要累死,在网上找到了一个包-demjson`

    pip install demjson

    import demjson
    text='hxbase_json1({list: [
    {Number: "1", StockNameLink: "stock_bg.aspx?code=688008&date=2019-12-31", industry: "澜起科技(688008)"}{Number: "2", StockNameLink: "stock_bg.aspx?code=600663&date=2019-12-31", industry: "陆家嘴(600663)"}
    {Number: "3", StockNameLink: "stock_bg.aspx?code=000006&date=2019-12-31", industry: "深振业A(000006)"}]})'
    #去除多余的干扰字符,变成只有key没有引起来的假json
    t = text[13:-1] 
    data = demjson.decode(t)
    
  • 相关阅读:
    filebeat6.2.3收集多个日志源 多个topic输出
    使用 INSERT 和 SELECT 子查询插入行
    Filebeat的架构分析、配置解释与示例
    struts1 logic标签的使用
    HDFS之一:hdfs命令行操作
    SQL子查询
    IE6动态插入option
    (转)CSS 圆角背景与三角形
    javascript 测试工具abut发布
    javascript天然的迭代器
  • 原文地址:https://www.cnblogs.com/aduner/p/13157999.html
Copyright © 2011-2022 走看看