zoukankan      html  css  js  c++  java
  • Python3.x:访问带参数链接并且获取返回json串

    Python3.x:访问带参数链接并且获取返回json串

    示例一:

    import json
    import xml.dom.minidom
    from urllib import request, parse
    from sqlalchemy import func
    
    url = "http://**********/queryTradingByProdTypeData.do"
    headerDict = {'Host': 'query.sse.com.cn',
                  'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0', 
                  'Accept': '*/*', 'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3', 
                  'Accept-Encoding': 'gzip, deflate', 
                  'Referer': 'http://**************/funddata/overview/day/', 
                  'Connection': 'keep-alive'}
    jsonName = 'jsonpCallback24028'
    data = {'jsonCallBack': jsonName, 'searchDate': dataDate, 'prodType': 'jj'}
    params = parse.urlencode(data).encode('utf-8')
    req = request.Request(url, headers=headerDict)
    page = str(request.urlopen(req, data=params).read(), encoding="utf-8")
    
    rdata = page[len(jsonName) + 1:len(page) - 1]
    jsondata = json.loads(rdata)
    print("json>>:%s" %jsondata)

     示例二:

    # 获取主要指标概览表
    def getChannelIdStr(channelFidStr):
        url = "http://www.*****/getSubChannel.action"
        headerDict = {'Host': 'www.*****.cn',
                      'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.31 Safari/537.36',
                      'Accept': 'application/json, text/javascript, */*; q=0.01',
                      'Accept-Language': 'zh-CN,zh;q=0.8',
                      'Accept-Encoding': 'gzip, deflate',
                      'Referer': 'http://www.******/monthview.action?action=china',
                      'Connection': 'keep-alive'}
        data = {'channelFidStr': channelFidStr}
        # psot 传递参数
        res = requests.post(url, data=data, headers=headerDict)
        # 获取跳转后的页面源码,返回json串
        soup = BeautifulSoup(res.content, "html.parser")
        print(soup)
        # 转换json格式
        jsonArr = json.loads(soup.text)
        # 遍历json数组
        channelId = []
        for jsonStr in jsonArr:
            channelId.append(jsonStr['channelId'])
            print(jsonStr['channelName'])
        return channelId
  • 相关阅读:
    教师派10
    教师派9
    简单理解socket(AF_INET&SOCK_STREAM,SOCK_DGRAM)
    Deepin安装MySQL(MariaDB)不提示设置密码问题(密码为空)
    经典排序算法-附python代码
    Linux虚拟环境virtualevn
    linux安装虚拟环境
    deepin安装虚拟环境virtualenv
    deepin安装虚拟环境virtualenv
    把握AFNet网络请求完成的正确时机
  • 原文地址:https://www.cnblogs.com/lizm166/p/8351106.html
Copyright © 2011-2022 走看看