首页 > 其他分享 >寒假生活指导12

寒假生活指导12

时间:2024-01-20 18:24:52浏览次数:20  
标签:12 指导 request headers json jsonpath sec 寒假 碳币

import urllib.request


url = 'https://dianying.taobao.com/cityAction.json?activityId&_ksTS=1629789477003_137&jsoncallback=jsonp138&action=cityAction&n_s=new&event_submit_doGetAllRegion=true'

headers = {
    # ':authority': 'dianying.taobao.com',
    # ':method': 'GET',
    # ':path': '/cityAction.json?activityId&_ksTS=1629789477003_137&jsoncallback=jsonp138&action=cityAction&n_s=new&event_submit_doGetAllRegion=true',
    # ':scheme': 'https',
    'accept': 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01',
    # 'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'zh-CN,zh;q=0.9',
    'cookie': 'cna=UkO6F8VULRwCAXTqq7dbS5A8; miid=949542021157939863; sgcookie=E100F01JK9XMmyoZRigjfmZKExNdRHQqPf4v9NIWIC1nnpnxyNgROLshAf0gz7lGnkKvwCnu1umyfirMSAWtubqc4g%3D%3D; tracknick=action_li; _cc_=UIHiLt3xSw%3D%3D; enc=dA18hg7jG1xapfVGPHoQCAkPQ4as1%2FEUqsG4M6AcAjHFFUM54HWpBv4AAm0MbQgqO%2BiZ5qkUeLIxljrHkOW%2BtQ%3D%3D; hng=CN%7Czh-CN%7CCNY%7C156; thw=cn; _m_h5_tk=3ca69de1b9ad7dce614840fcd015dcdb_1629776735568; _m_h5_tk_enc=ab56df54999d1d2cac2f82753ae29f82; t=874e6ce33295bf6b95cfcfaff0af0db6; xlly_s=1; cookie2=13acd8f4dafac4f7bd2177d6710d60fe; v=0; _tb_token_=e65ebbe536158; tfstk=cGhRB7mNpnxkDmUx7YpDAMNM2gTGZbWLxUZN9U4ulewe025didli6j5AFPI8MEC..; l=eBrgmF1cOsMXqSxaBO5aFurza77tzIRb8sPzaNbMiInca6OdtFt_rNCK2Ns9SdtjgtfFBetPVKlOcRCEF3apbgiMW_N-1NKDSxJ6-; isg=BBoas2yXLzHdGp3pCh7XVmpja8A8S54lyLj1RySTHq14l7vRDNufNAjpZ2MLRxa9',
    'referer': 'https://dianying.taobao.com/',
    'sec-ch-ua': '"Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"',
    'sec-ch-ua-mobile': '?0',
    'sec-fetch-dest': 'empty',
    'sec-fetch-mode': 'cors',
    'sec-fetch-site': 'same-origin',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36',
    'x-requested-with': 'XMLHttpRequest',
}

request = urllib.request.Request(url = url, headers = headers)

response = urllib.request.urlopen(request)

content = response.read().decode('utf-8')

# split 切割解决反扒
content = content.split('(')[1].split(')')[0]

with open('074_尚硅谷_爬虫_解析_jsonpath解析淘票票.json','w',encoding='utf-8')as fp:
    fp.write(content)

import json
import jsonpath

obj = json.load(open('074_尚硅谷_爬虫_解析_jsonpath解析淘票票.json','r',encoding='utf-8'))

city_list = jsonpath.jsonpath(obj,'$..regionName')

print(city_list)

进行python的爬虫学习。

jsonpath的初步使用。

  1. 首先,定义了请求的URL和HTTP headers。这些headers包括浏览器的User-Agent、Cookie等信息,目的是模拟浏览器发起请求以防止被服务器识别为爬虫并拒绝响应。

  2. 使用urllib.request.Request()创建一个Request对象,其中包含了目标URL及设置好的headers。

  3. 通过urllib.request.urlopen()发送请求并获取服务器返回的response对象。

  4. 读取response的内容,并使用UTF-8编码解码后,对内容进行切割处理,提取出JSON格式的有效数据部分。

  5. 将提取出的JSON数据写入到名为'074_尚硅谷_爬虫_解析_jsonpath解析淘票票.json'的文件中。

  6. 使用json.load()方法打开并加载上述文件中的JSON数据到一个Python字典对象(obj)。

  7. 引入jsonpath库,利用jsonpath.jsonpath()函数从obj中提取路径为'$..regionName'的数据,这个路径表达式表示搜索整个JSON结构中所有嵌套层级的"regionName"字段。

  8. 最后打印出所有的城市名(city_list)。

碳币兑换页面

<template>
    <div class="carbon-coin-page">
      <el-row :gutter="20">
        <!-- 碳币发放区域 -->
        <el-col :span="12">
          <el-card class="box-card">
            <div slot="header" class="clearfix">
              <span>碳币发放</span>
            </div>
            <div>
              <p>系统发放碳币:</p>
              <el-input v-model="systemIssuedCoins" placeholder="请输入发放的碳币数量"></el-input>
              <el-button type="primary" @click="handleSystemIssue">确认发放</el-button>
            </div>
          </el-card>
        </el-col>
  
        <!-- 碳排放额度转换区域 -->
        <el-col :span="12">
          <el-card class="box-card">
            <div slot="header" class="clearfix">
              <span>碳排放额度转换</span>
            </div>
            <div>
              <p>剩余碳排放额度:{{ remainingEmissionQuota }}</p>
              <el-form>
                <el-form-item label="输入要转换的额度">
                  <el-input v-model="convertibleQuota" placeholder="请输入转换额度"></el-input>
                </el-form-item>
                <el-form-item>
                  <el-button type="primary" @click="handleConvertToCoins">转换为碳币</el-button>
                </el-form-item>
              </el-form>
              <p>当前碳币余额:{{ carbonCoins }}</p>
            </div>
          </el-card>
        </el-col>
      </el-row>
    </div>
  </template>
  
  <script>
  export default {
    data() {
      return {
        systemIssuedCoins: 0,
        convertibleQuota: '',
        remainingEmissionQuota: 1000, // 假设初始剩余碳排放额度为1000单位
        carbonCoins: 0, // 用户现有的碳币数量
      };
    },
    methods: {
      handleSystemIssue() {
        // 处理系统发放碳币逻辑,这里仅做模拟示例
        this.carbonCoins += Number(this.systemIssuedCoins);
        // 清空输入框
        this.systemIssuedCoins = '';
      },
      handleConvertToCoins() {
        // 转换逻辑,根据规则将输入的碳排放额度转换为碳币
        const convertedCoins = this.convertibleQuota * 1.2;
        this.carbonCoins += convertedCoins;
        this.remainingEmissionQuota -= this.convertibleQuota;
        // 清空输入框
        this.convertibleQuota = '';
      },
    },
  };
  </script>

 

标签:12,指导,request,headers,json,jsonpath,sec,寒假,碳币
From: https://www.cnblogs.com/syhxx/p/17976916

相关文章

  • CF1712A
    看完题目,很容易得知要使$\sum\limits_{i=1}^kp_i$最小,且\(p_i\)是\(n\)的一个排列,可以知道最终的答案为\(\sum\limits_{i=1}^ki\)。现在我们考虑如何将原序列转化成答案序列。得知答案后,我们要做的就是将所有的\(p_i\lek\)移到序列的前\(k\)位中。暴力枚举序列的......
  • P8112 [Cnoi2021] 符文破译 题解
    题目传送门思路先看数据范围,我们发现两个字符串的长度最大会达到\(5\times10^7\)。这立刻打消了我用暴力的想法。于是,我选择了用KMP模式匹配,这一个能够在线性时间内判定字符串\(A\)是否是字符串\(B\)的字串,并求出字符串\(A\)在字符串\(B\)中各次出现的位置。如......
  • CF1612G Max Sum Array
    MaxSumArrayLuoguCF1612G题面描述给定一个长为\(m\)的序列\(c_1,c_2,\dots,c_m\)。序列\(A\)满足:对于所有\(1\leqi\leqm\),\(i\)在\(A\)中出现了\(c_i\)次。定义一个序列\(A\)的值如下:\[f(A)=\sum_{1\leqi<j\leqn,a_i=a_j}j-i\]求满足条件的\(f......
  • 寒假集训Day5
    vector去重unique(a.begin(),a.end());返回一段没有重复的数组的末尾得到去重后的数组:a.erase(unique(a.begin(),a.end()),a.end());二分推荐写法intl=1,r=1e9,ans;while(l<=r){intmid=(l+r)>>1;if(check(mid)){ans=mid;l=mid+1;......
  • Threat Simulator (威胁仿真器) 23.12.2 - 入侵与攻击仿真(BAS)平台
    ThreatSimulator(威胁仿真器)23.12.2-入侵与攻击仿真(BAS)平台连续验证您的安全态势,有效抵御最新威胁请访问原文链接:ThreatSimulator(威胁仿真器)23.12.2-入侵与攻击仿真(BAS)平台,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgThreatSimulator威胁仿真器......
  • (12)Powershell中变量的类型
    (12)Powershell中变量的类型WindowPowershell中变量的类型与Java,C#等高级语言中变量的类型不一样,可以不用显示指定Powershell中变量的类型,即Powershell中的变量具有更大的灵活性。Powershell中的变量采用.NetFramework类型。默认情况下,当变量只有一个值时,变量的数据类型由赋......
  • 调光高辉度高精度调光细腻无频闪24V 48V12V60VLED升压型恒流驱动器H6911
    H6911是一款外围电路简洁的宽调光比升压调光LED恒流驱动器,可以实现高精度的恒流效果,输出电流恒流精度≤±3%,可适用于2.6-40V输入电压范围的LED恒流照明领域,输出耐压仅由MOS耐压决定。特征:启动电压 2.5V内置40V的LDO供电超低待机功耗转换效率>95%固定开关频率支持PWM方波信号调光支......
  • 算法模板 v1.3.1.20240120
    算法模板v1.1.1.20240115:之前的历史版本已经不可寻,创建了第一份算法模板。v1.2.1.20240116:删除“编译”-“手动开栈”与“编译”-“手动开O优化”;将“编译”-“CF模板”中的第20行代码cin>>T;注释;删除“读写”及其目录下的内容;删除“图论”-“欧拉图”-“混合图”;删除“图论”-......
  • P8512 [Ynoi Easy Round 2021] TEST_152 题解
    题目链接:[YnoiEasyRound2021]TEST_152题目比较抽象,翻译一下。就是有\(n\)个操作,每个操作为\((l_i,r_i,v_i)\)表示把长为\(m\)序列\(a\)的\([l_i,r_i]\)上的数覆盖为\(v_i\)。而查询为\([time_l,time_r]\),表示从\(time_l\)的操作开始执行,到\(time_r\)操作结......
  • Git必知必会基础(12):忽略文件
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10854115.html 应用场景可以在git仓库的根目录下添加—个名为.gitignore的文件,用于指定需要被git忽略的文件或文件夹应用场景:1.减少远程仓库大小占用,有些不需要push到远程仓库的内容就可以忽略2.涉及......