Python从url中获取JSON数据并解析

JSON

JSON 语法是 JavaScript 对象表示语法的子集。

  • 数据在名称/值对中
  • 数据由逗号 , 分隔
  • 使用斜杆 \ 来转义字符
  • 大括号 {} 保存对象
  • 中括号 [] 保存数组,数组可以包含多个对象

JSON 的两种结构:

1、对象:大括号 {} 保存的对象是一个无序的名称/值对集合。一个对象以左括号 { 开始, 右括号 } 结束。每个"键"后跟一个冒号 :,名称/值对使用逗号 , 分隔。
2、数组:中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。

JSON 值可以是:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在中括号中)
  • 对象(在大括号中)
  • null

JOSN示例:
在这里插入图片描述

代码示例

# -*- coding: utf-8 -*-
import os
import json
import pandas as pd
from bs4 import BeautifulSoup
import requests

def get_data(url):
    f = requests.get(url)
    soup = BeautifulSoup(f.content, "lxml")
    str_json = str(soup.body).strip('</p></body>')
    data_json = json.loads(str_json)

    data_new = pd.DataFrame()
    for i in range(len(data_json)):
        data_new.loc[i, 'name'] = data_json[i].get('name', '')
        data_new.loc[i, 'url'] = data_json[i].get('url', '')
        print('we are done : ', i)
    print('result: \n', data_new)
    return data_new

if __name__ == '__main__':
    get_data('www.xxx.com')

结果展示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值