今天给大家讲一个小的知识点啊,一直没有具体的给大家讲过,就导致很多新接触电力行业的朋友们呢,可能会有一些问题, 就是在整个的电力市场当中有这么多的角色,那么他们之间的关系以及这个电力市场整个的交易流程到底是什么?今天呢,我们站在这个用电企业的角度来讲啊,假如说你是一个用户呢?第一种途径啊,假如说你现在是一个用户, 第一种途径通过什么呢?通过售电公司,然后呢售电公司再向发电企业去进行买电, 这是第一种途径啊,这是整个的一个买电的流程,那么电力交易平台有什么作用呢? 平台啊,它起到的是一个第三方托管的作用,用户和售电公司啊之间的合同,售电公司和发电企业之间的合同,所有的合同,所有的交易, 所有的这些签订的协议,我们都需要在这个平台上去进行一个规范。话说白了,我们要在这个平台上签订电子合同,那 有一些情况呢,可能是顺电公司和用户啊签订了纸质合同,但是实际上理论上来讲,这个纸质合同呢,不作为最终的执行依据。比如说啊,用户和顺电公司之间达成了三毛钱一度电, 然后呢发电厂和售电公司之间,比如说是两毛钱一度,那这些呢,都要到这个电力交易平台上去签合同,那么电网现在变成干什么的了呢?电网 传输,那么虽然呢,你的电是从售电公司买的,售电公司呢是从发电企业手里买的,但是呢这个电他有一个物理性质,就是电需要进行物理传输,那售电公司他没有线路,对吧?所以呢,现在依然需要这个电网 把电呢传输到用户的手里,这个呢就是现在电力市场整个的交友流程,整个的架构好,电网现在除了负责传输电能量以外,电网也负责收费, 虽然呢售电公司和用户签了三毛钱一度电,但是呢这个钱还是要交到电网的手里呢,然后电网再给发电企业和售电公司进行结账, 所以说呢,收费和送电都是电网来做,那么你们三个之间达成了任何的交易协议呢,都要到平台上去签订合同,这个呢是一个第三方的托管,这个就是现在最标准的一种电力市场的运行模式。那么第二种途径是什么呢?假如说你是一个电力的大用 户,你的用电量很多,那么你就可以绕过售电公司直接向发电企业去买电, 这个流程是一模一样的,这个电网的职责还有平台的职责都是一模一样的, 只是中间没有收电公司了,合同还是依然要去签电呢?还是需要电网来传输钱,还是依然需要电网去结账?第三种是什么呢?第三种现在典型的交易流程叫做电网代购,比如说啊,你现在 还是一个电力用户,但是呢,你没有直接的进入这个电力市场,你依然需要通过电网去进行买电,当然了这个时候呢,这个电网的职责它就变了,至然后电网再通过发电企业去进行买电。 那么这个第三种呢,是现在的跟原来很像的一种结账传输都是一样的,那么现在就有人说了,既然我能去找电网进行买电,我也能直接的去找发电企业去进行买电,那么这个售电公司到底是干什么的? 这是一个小问题啊,今天简单的给大家解释一下售电公司它存在的最大的意义。我们一直强调售电公司它是给 客户去做服务的,售电公司他站在这整个流程里面,那么他面对发电企业的时候,实际上他也是一个买房,他是一个实力非常强的买房。原来呢,用户去向电网买电,实际上是没有溢价权的,也就是说呢,你不能和电网去讲价, 电网给你定了一度电是零点四五,那就是这么多。同样呢,用户在直接面对发电企业的时候,大概率也是没有甲醛的,你的溢价能力是很低的,但是呢,通过售电公司就不一样了,比如说呢,你现在是一个每年一千万度电的小用户, 在这个售电公司手里呢,可能有几十个,那么售电公司手里面掌握了几亿甚至十几亿的电量,那就成为了一个在市场当中的大用户。买卖双方呢是相互博弈的,你买方越强呢,可能你买到的价格就会越低,那么卖方越强, 可能你卖出的价格就会越高,这就相当于呢,售电公司在面对发电企业的时候,他是站在买方的角度,他形成了一个非常强的买方的力量,他是可以去议价的,那么传导到用户的时候呢, 其实这个电费是可以下降的,这就是售电公司存在的一个核心的功能,就是帮助用户去降电费。好,今天咱们就讲到这里。
粉丝25.6万获赞471.0万


今天我们来聊一个特别火的话题,电力现货市场。哎,你可能一听这名字就觉得头大,但别急,今天咱们就花几分钟把它给你说明白了。 来,我先问你个问题啊,你是不是觉得咱们每个月交的电费,那个价格应该是,嗯,基本不变的?要真是这么想,那接下来你可得听好了。 因为啊,在电力现货这个新世界里,电价那可真叫一个刺激,它根本就不是固定的。可能这么说吧,每五分钟就变一次,而且那个波动的幅度你猜猜能到正负五百趴?没错,你没听错,就是这么夸张。所以问题就来了,这么一个上蹿下翘的价格,到底是谁定的呢? 其实啊,他的核心逻辑就一句话,不看成本,看供需。这也就是我们常说的边际定价。这话什么意思呢?简单理解就是在一个时间点,为了保证大家都有电,用电网会把发电厂一个一个叫起来干活。那好,最后一个被叫起来的那个,往往也是报价最贵的那个,他的报价就成了那一刻所有发电厂的统一卖价, 有意思吧?咱们来看个具体的例子啊,就更清楚了。你看这张图,假设现在市场上需要五千兆瓦的电,这些发电厂呢,就会排队报价,谁排在最前面?当然是成本最低的,像光伏风电这种,边际成本几乎是零,他们就报个零价,抢着先上网。然后呢,就是成本高一点的燃煤,在后面是更贵的燃气,燃油机组就这么一层一层往上落。 好,现在要满足这五千兆瓦的需求,系统就从便宜的开始一个个叫,用一直叫一直叫,叫到最后刚好轮到那个报价八百块的燃油机组需求满足了,那这时候神奇的事情就发生了,这个八百块就成了当前的市场价,也就是说最开始那个报零元的工服,他最后结算的时候拿到的也是八百块,是不是一下就明白这个边际定价了? 整个这过程呢,背后有一套游戏规则在管着,专业术语叫集中出清,你就把它想象成一个超级智人的拍卖师,负责把所有发电厂的报价和全社会的用电需求撮合到一起,最后敲定一个统一的价格,目的就是保证整个过程又公平又高效。 所以你看啊,这个拍卖师的工作其实就三步,第一步,让所有发电厂按价格从低到高排好队。第二步,从对头开始一个一个叫起来发电,直到电够用了为止。第三步也是最关键的,最后那个被叫到的,他的报价就是所有人的成交价。 这个机制的好处就是,它能确保我们永远用的是当下社会总成本最低的电组合,把资源用到极致。好理解了定价逻辑,我们再来看看整个市场的架构是怎么设计的。 其实啊,它特别像一个天气预报系统,分成了好几层,既要精准又要稳定。第一层叫日前市场,顾名思义就是提前一天做计划。它就像我们看天气预报,大概知道明天会怎么样,然后把第二天绝大部分大概知道明天会怎么样,然后把第二天绝大部分的电量都提前安排好,这一块的价格呢,就相对比较稳定。 但天气预报嘛,总有不准的时候,对吧?所以就有了第二层日内市场。万一第二天风力突然比预报的小,或者某个工厂突然接到个大订单,要加急生产,用电量猛增, 这些突发情况就在这个日内市场里进行调整。它就像是气象台发布的实时天气预警,是个动态的缓冲带。那最后就是实时市场了,这是最后一道防线,他负责在真正用电前的最后几分钟进行最最精细的微调,确保供需的完美平衡。 我们开头提到的那种上蹿下跳最刺激的价格波动,主要就发生在这个环节。好,聊了这么多元理,你可能会远,这跟我有啥关系呢?关系可太大了。因为这个电力现货市场啊,已经不是什么遥远的概念了,他正在以一个惊人的速度成为我们整个行业的标准配置。 我们来看个数字啊,到目前为止啊,全国已经有整整二十八个省份都在持续的开展电力现货市场了,这基本上已经是全国性的趋势了,不仅范围广,参与的人也越来越多。你看这个图,参与到这个市场里来的公司数量可以说是爆炸式增长,跟二零一六年比啊,现在翻了足足二十四倍。这个赛道的热度不用我多说了吧, 而且啊,来玩的玩家也越来越有意思了。你看,除了我们熟悉的发电厂、用电大户之外,还冒出了好多新角色,比如储能,你可以把它理解成一个巨型充电宝,还有虚拟电厂,这个更苦,它能把你家我家、他家的空调、充电桩这些零散的资源打包起来,变成一个可以统一调度的云端电厂, 整个市场的生态一下子就丰富起来了。所以你看哈,一边是瞬息万变的价格,另一边是飞速扩张的市场,这里面挑战肯定是有的,但更多的是什么?是机会? 不管你是想省电费的工厂老板,还是搞技术创新的公司,甚至是我们每一个普通人,都可能在这个全新的电力世界里找到属于自己的新玩法。那么问题来了,你的机会又在哪里呢?

挑战爬一百个网站,今天是 boss 直聘批量采集这节课的话,给大家带来的案例就是关于 python 采集 boss 直聘的一个数据。那么首先在这个页面当中啊,按一个 f p 十二, 按了之后的话我们直接刷新啊,直接刷新让整个网页的数据重新加载一下,好,刷新出来之后的话啊,我们 直接点这个搜索按钮,然后输入我们想要的内容,那公司名字肯定是想要的吧?那我们就搜一下这个上海鲸鱼机器人回车,回车之后的话,我们在这个地方他返回了我们两个接口啊,来截图 啊,第一步的话这里啊点击这个搜索按钮,第二步输入搜索内容 回车。只要是什么呢?只要啊含有搜索结果的啊,搜索内容的数据包都会进行一个返回,那这里的话他返回了一个什么呢?他返回了两个,对,那两个具体哪一个是我们想要的呢? 那我们就可以一个个去看了啊,因为对比整个啊,整个的话他是一百五十多个请求。我们整个网页的话啊, 整个页面的一个数据包有一百五十,一百五十个,对不对?一百五十三个啊,一百五十三个,是不是啊?但是我们通过搜的话就把这个范围缩小到只有这两个了 啊?只有这两个,那这两个具体哪一个是我们想要的呢?我们可以点击数据包去查看啊,就一个个去看啊,首先看第一个, 首先我们来看第一个啊,第一个里面的话有我们的信息吗?有,很明显他是有的,上海那他城市,他的一个经验要求学历,要求工资,然后他的一些,呃,公司的地址啊,七七八八的,反正都都在这里面。是不是都有啊?但是的话问题在于什么呢?问题就是在于他只有一条, 他只有我们当前的一个信息内容。但是我们这里的话,这么多的一个招聘数据信息, 是不是除了这一个上海鲸鱼机器人,还有华为的?那华为科技有限公司的,一个是苏州的,一个是上海的,对,这些数据是不是也得要啊?那我们就看第二个嘛,第二个的话它其实也比较明显,有个 job list 点节省职位列表吧的。 job list 的 话不职位列表吗? 对,在这个里面的话啊,它就存在我们多条数据信息,我们给大家在预览里面看啊,那这里面的话就是包含我们零到多少?一十四就相当于十五条招聘数据信息。 那第一个上海鲸鱼机器人的,然后第二个,那我们的一个苏州工业园区的,华为的,对不对?第三个的话也就是我们那一个,呃,也是华为游戏,华为的,那这个是青浦区啊,但这个城市上海的, 是不是?所以说我们第二个接口里面的话,他才是我们想要的一个数据内容啊?第二个接口才是我们想要的,因为我们去获取数据的话是批量的采集吗?对不对?那我们不可能说只要一个数据啊? 好,那这里面的话就是我们想要的,那我们既然需要的数据在这个里面的话,我们就去看什么呢?看标头啊?看标头, 看标头的话我们就常规的就看他哪几个呢?一个是我们的请求网址,一个是我们的请求头,还有请求方法啊,常规的话就是看这几个东西啊,看这几个这个东西对不对?这个话就是我们的一个数据接口,我们会用到一个加上配置的模块,它是一个自动化的模块, 它方法有很多啊,我们就用方法一就行了,就使用这个方法一就可以,那这边的话有一个代码,那给它粘贴过来,那这个路径的话, 它是文档当中路径,这个肯定跟我们的不一样吧,每个人下载软件安装的时候,它可能放的位置不一样,所以我们得去找到我们浏览器的可执行文件路径。怎么去找呢?给大家演示一下, 那比如说我这里的话,是不是浏览器,我用谷歌啊?有个更多更多,这里话有一个打开文件位置,是不是点开, 点开之后的话,一般情况你刚开始打开的话,他会有一个快捷方式啊,记住啊,这个是快捷方式,他不是应用程序啊,他不是可执行文件,所以我们要在这个快捷方式时候,再右键再打开文件所在位置,直到找到哪个呢?找到这个, 找到这里的话,它会有一个什么呢?应用程序找到之后的话,你就把这个路径复制,然后往这里一粘贴,粘贴之后的话它那个后缀也要加上啊,就它的文件名和文件这一个格式,就这个 e x c 啊,这个的话也要加上,粘贴过来之后你直接运行一下就行了, 运行之后的话,哎,它就会显示一个什么呢?显示个这玩意啊,那就说明你配置成功了,这个代码就可以删掉,就不用管了,因为你配置好的话啊,以后以后的话,它都会帮你自动打开你所配置的那一个浏览器。那我们接下来的话就写代码了 啊,直接先导入一下我们的一个自动化模块, from johnson page import chrome page。 啊,导入进来,导入进来之后的话,我们打开浏览器 d p 等于一个什么呢?它就可以了啊,就两行代码,就这两行代码,你右键一运行,它就会自动帮你打开浏览器, 看到没有啊?它自己就打开了,好吧,啊?这句话要给大家稍微的说一下,其实这个话也叫做什么呢?也叫做实力化浏览器对象啊, 实力化,哎,浏览器对象,然后我们是用了一个变量名接收吧,用了一个 d p 的 变量名去接收这个啊,就是接收这个就相当于什么呢?我们这个 d p 的 话,它就是我们这个打开的浏览器页面 啊,这个 d p 啊就相当于是什么呢?我们打开了这个浏览器的页面, 所以说你要在这个浏览器页面中进行什么样的一些操作啊?进行什么样的操作的话,它就是什么呢?就是使用了什么呢?使用这个 d p 相关的一些方法 啊,就是用了这个 d p 相关的一些方法,然后对于这个 d p 懂了吗?那我们要访问网站的话,要访问啊,让我们这个浏览器去访问一个网站,那,那不就是让我们这个浏览器得到一个网址吗?要访问网站,那是让浏览器得到一个网址,那我们就 d p 点上一个 get, 让它啊得到我们的一个网址,网址的话是哪一个?就是我们的一个 招聘的一个页面嘛,对不对?我们的一个职位页面,来我们运行一下,运行之后的话啊,它就会自动去访问了, 嗯?他怎么还不访问?嘿嘿。 哎,卡住了吗?那我们给他关了啊,我们重新再运行一下, 是不是他是不是就自动去访问了我们这个页面呢?没毛病吧?访问我们这个页面之后啊,那我就可以直接去获取数据啊,所以我们在这个啊,访问网站之前一步先监听数据。 d p 啊,触摸浏览器对不对?点上 listen, listen 就 听的意思。 star, 那 就开始 啊,就监听开始嘛,就是你要监听哪个接口,我们把这个复制过来丢进去啊,丢进去。然后访问之后的话,我们是不是要等待它的一个加载,等待数据包的一个加载 d p, 点上 listen, 点上一个位置啊,等它加载出来,等它加载出来之后,我们用个变量名去接收啊,一个变量接收,接收了之后我们可以直接获取它的响应数据内容, 点上我们的 response, 点 body, 接上这一套,那么 print 打印一下 右键运行啊,这样的话我们就可以干嘛呢?我们先访啊,监听了,然后访问,访问之后等待加载,因为我们网站加载数据它是会有一段时间的,因为我们,呃,可能你的网速问题啊还是什么?它不可能说你, 你访问立马就拿到吧?对,它可能会有一个缓存的过程,所以说我们等待它加载啊,等待加载之后的话,我们就可以拿到它返回的一些数据内容了, 这边的话就是返回了相关的一些职位信息,那他的一些学历啊,七七八八的不都在这里吗?那么第三步解析数据,这个就非常简单,为什么呢?因为我们现在拿到的这个数据是什么数据?这是一个接生字典数据啊, 所以我们只需要通过什么呢?字典取值的一个方式去取就可以了。那我们想要的数据的话,是在这个 java list 里面,对不对?这个 java list 在 哪里?在这个 zp data 里面,其实我们一开始的话,最外层的话应该是这三个,这三个键对, 那这个是啊,冒号左边是它的键,冒号右边是它的值,一个是 call 的 对应的这个 success, 还有一个的话是这个 zp data 对 应的一个字典,我们想要的数据的话,是不是在这个字典里面? 所以我们第一步的话,先取哪个?取这个吧,取这个 zp data 对 不对啊?我们这里写一下,取我们那个 zp data 啊,就这个给它复制一下 啊,取出来之后他会返回冒号右边的,也就是展开了这个数据啊,他会把把这个数据给我们进行返回,那返回的话,这里又分为这么几个建队,我们想要的数据是哪个?是这个 job list, 在 这里面的话就包含了我们整页的一个职位信息,那我们自己是不是再取它, 再取这个啊?那我们也用个这个接收啊,这个相当于什么呢?制定取值,提取职位 信息所在的一个列表啊,所在列表拿到之后的话,这个列表里面一共是包含零到一十四,就十五条数据,我们要把这十五条数据一个个拿出来啊,一个个提取,所以我们得用到一个负循环,便利 提取列表里面的元素 for job in job list。 那 这样的话我们的一个什么呢?啊?我们的这些职位信息的话就全部出来了,就十五条职位信息就全部全部出来了 啊,十五条的一个信息内容是不是都有了啊?有了之后的话,为了方便取值啊,为了方便取值,我们可以导入一个格式化输出的一个模块 啊,用一个格式化输出的模块进行打印啊,因为你像用这个 print 去打印的话,它的数据是什么样子的?就就是一行的啊,就这样子一行。呃,看起来不方便啊,看起来不方便,所以我们可以用个 pprint 打印, 而且解析数据的话,我们打印一个就行了,不用打印那么多啊,因为他的格式都是一样的,打印一条就可以了 啊,这个话就是我们相关的一个数据内容,对不对? ok 啊,我们想要的数据的话,我们简单的截个图啊,简单截个图,看他需要哪些的,有什么数据我们就取什么数据啊,有什么数据就取什么, 那就在循环中啊,提取具体的内容,然后保存到一个字典中,所以我们创建一个字典,然后去取值。首先的话我们来看一下啊,这个话是他的公司名字啊, 公司,根据冒号左边取冒号右边的这个 job 的 话,就是我们这一个字典嘛。啊?公司,然后这个是他的公司规模 啊,公司规模零到二十人,然后我们再往下深圳。对啊,这是它的城市,城市的话放前面 城市,然后这边的话有一个 gps 啊,这个 gps 的 话就它的一个经纬度啊,这个是纬度。这个是经度啊。经纬度 啊。那我们也可以取一下吧。那他公司规模。那这边的话来一个什么呢?来一个精度,精度的话是 gps, 根据冒号取右边啊,左边取右边。那他返回的是这个。这个话我们的精度是哪个?是他吧? 那我们的纬度呢?啊?纬度的话就这个啊,它的经纬度啊,学历不限啊。这个话是它的一个要求啊,它的一个学历的一个要求,然后经验要求的话是我们的三到五年。 打职位名字的话啊,职位名。职位名的话叫 python 啊。 job name 职位名。 ok, 还有其他的吗?薪资。 对啊,一万一到一万三。啊。一万一到一万三。嗯,好像就这些数据吧。啊?基本东西的话你就都拿到了,基本的话就这些啊,基本就这些。呃,但是的话这里有一个问题啊, 有一个问题在于什么呢?问题在于它有一些数据,它不只是它有区域的呀,这个是没有区域啊, 对吧?他应该有些有些职位的话有区域和街道的。你看这个话叫做什么呢?上海青浦区金泽啊,金泽,金泽的话应该是他的商圈。对,所以我们区域的话也要取消。这个是区域啊,但我们这里面是没有显示的,因为他这里只是一个深圳,所以区域的话也得拿一拿 啊。这个话是区域。还有一个的话是商圈啊,商圈的话我们来看一下。这个话是商圈 b u 这个吧,这个话应该是商圈。对呐,商圈。呃。还有一个它的一个公司领域啊,公司领域是做互联网的。对,那我们就写在什么?写在下面啊, 基本的话就这些东西啊,招聘的人的话就不写了 啊,就拿到这些基本的数据,我们来打印看一下这个数据,看这个数据拿到了有没有什么问题,这个的话就不打印了, 这的话就是我们第三步解析,没问题的话我们就第四步了啊,保存数据了啊,这边的话就是用的字典取直的一些方式啊,然后保存数据的话也很简单啊,保存数据的话也特别简单, 那也特别简单,反正它就一个固定写法,导入一下 csv 的 一个模块啊, import csv 创建文件对象, f 等于 open data 点 csv model 等于一个 w, encoding 于 tf 杠八牛奶 字典写入的方法, c s v 点上字典写入,把文件对象传进去,再加上字段名,这个字段名的话就使用什么呢?使用这个字典里面的键就行了啊,使用这个字典里面的键就好了,然后做一个批量替换吧, 就留这个键就可以了,其他的话就不要了。 ok, 然后我们 csv write, 下面的话我们就写入表头点 hander, 在 这里的话我们就写入数据 reference 啊,就可以了,然后右键一运行,它就会把我们这个数据直接保存到什么呢?保存到这个 data 点 c, s, v 的 文件里面,看见没有?那 python 讲师,安庆,然后 python 算法工程师,对吧? 这些就是我们的所拿的一个数据信息。那么批量采集数据啊,也很简单啊,因为我们核心点在于什么呢?核心点是在于模拟人的行为吗?我们如何才能查看更多的数据呢?是做一个下滑啊,是下滑我们的页面,让它加载更多的一些数据内容出来, 所以我们只需要在构建一个循环,进行一个采集完一页之后的话,做一个下滑就可以了。那我们可以在这里啊构建一个循环翻页 for page in 我 们的 range, 比如说我们爬个前二十页,好吧,前二十页的数据, 那就到二十一嘛,然后我们做一个循环,然后我们再做一个下滑页面啊,下滑页面 d p 点上它点这个,这个话就下滑页面到底部啊,到底部的话它就会加载更多的内容。那加载更多的我们再获取更多的数据嘛, 这就很简单, printer 打印一下,正在采集几页的数据内容。嗯, 数据内容 ok, 运行 等他访问啊,然后你数据啊,那这样的话我们就可以做一个批量的一个操作了。 嗯,这里有一个数据报错了啊。对啊,有一个没有经纬度的啊,没有经纬度的 打做异常处理,跳过就行了,简单的话直接做异常就行了,因为它远程办公的话,你还得去。呃,那,那你得去判断一下啊,判断一下它有没有内容。就这个 gps 返回的是个嫩啊,返回是个嫩啊,就这个地方返回是个嫩,返回的是个空的,就没有内容。 所以我们简单来说的话就直接做一个异常,因为对于整不影响大局啊,不影响大局,但你也可以直接做判断。哎, 判断他有没有那个内容。对啊,他返回的是不是有数据的?如果说没有数据的话,那你就表示他是一个远程办公的,然后说有的话我们就就提取, 咱们这里面就提取有的,因为少数服从多数啊,那这样的话,我们前二十页的数据就裁下来了啊,按正常来说的话,我们一页是十五条,二十页的话应该是三百条数据啊,我们来看他一共是拿到多少条数据啊? 看一下。哎,怎么滑不到最下面 啊?一共是三百二百九十九,就相当于我们整个只有一条数据是有特殊性的。不就三百条里面只有一条啊,这个就不影响啊,不影响, 你实在想知道是哪一条的话,你可以在这个地方打印一下啊。在哪里?在这里啊,可以打印一下 ppt job, 那你就知道它是哪一条数据了。好,我再给大家运行看一下这个效果。呃,不知道它这里面会不会有啊? 那这一条 看见没有啊?资深啊,资深。 python。 它是没有那一个经纬度的,发现没有,它这里话是没有经纬度的, 那它这个是没有经纬度。它没有,没有给啊,没有给经纬度,咱们说一个 gps, 好 吧, gps 看没有,它返回是个嫩, 那这里啊也有一个 gps 返回是个嫩。所以说你要判断一下这里返回的是不是一个嫩,返回是个空的话啊,返回是个空的话,那就说明我们对吧?就没有那个经纬度啊,如果说它返回有的话就有, 对不对?那你要去判断的话,也可以啊,你在这个地方嘛,提取一下什么呢?这个经纬度啊, 那我们这里写一下 gps 等于它 啊,一副我们那个 gps 啊,不等于那啊,不等于那的话,我们就取哪一个呢?取它啊,就取它, 否则的话啊,否则的话干嘛呢?否的话就是个嫩啊,如果说他不等于嫩的话,就是如果等于嫩的话就就就直接返回嫩,那这边的话是同样的啊,同样的一个操作。 哎,这个好像我复制错了 啊,他应该是这个。 如果说我们的一个 gps 啊,不等于什么呢?不等于一个嫩,那说明就是有东西,有东西就取它,否则就是个空的,那这边是同样的一个操作。 对啊,你就判断它是不是有啊,有的话就有,没有的话就返回一个空的,这样的话就可以了啊,这样的话就 ok 了, 那这样的话你就可以把所有的数据全部拿到了,就三百条,你要要么做判断,要么做异常处理, 那这样的话我就可以拿到三百条数据,现在是不是就三百零一了? 所以这两种方式的话都可以啊,都可以,就是在乎于你对这条数据你是需要呢还是不需要,你不需要的话就直接异常跳过啊,你需要的话那你就去做判断处理。 对啊,这个话就是一个三元表达式啊,三元表达式啊,当这一个条件成立的时候,我们就取前面的啊,不成立的话就取后面的。 这是一个三元表达式啊,前面是一个条件成立的,成立的话我们就干嘛呢?就取它啊,条件成立啊,然后不成立的话就是哪一个呢?不成立的话就它 啊,所以我们这边的话,有 gps 的 话,应该它有一个嫩的返回的,有些是空的 呐,看没有。这里的话有两条数据就是空的,它没有经纬度的啊,这个的话就是关于嗯,这个 boss 的 采集啊,然后这边的话还准备了一个格式化的,但这格式化的话, 格式化的话还是不讲了吧,哈哈,给大家看下效果就行了。格式化的话给大家看下效果就好了 啊,这是整体的一个把我们的数据做一个简单的 excel 的 一个效果啊。

大家好,我是汇报人尹力。今天我要向大家介绍电力交易实战营这个实战型人才系统化培养方案,它能助力大家提升电力交易实战能力。接下来我将详细讲解,希望大家认真聆听。 本演讲的上半部分目录包含五个关键部分。首先是课程总览,让大家对整体课程有初步认识。接着蓝图片构建市场全景与交易逻辑基石,为后续学习打基础。 时刻片聚焦客户价值与套餐,设计。谋事片探讨中长期交易策略。精算片关注现货市场决策,层层递进,助力学员掌握电力交易实战技能。 这是本次汇报的下半部分,目录包含四个关键部分。实战篇让学员体验模拟交易全流程操作。复盘篇,通过收益核算等加深对交易结果的理解。风控篇,以案例解读构建风险防控体系。最后讲述课程顶层逻辑与价值闭环,前后呼应,助力学员构建系统交易能力。 我们刚刚了解了课程的目录,对整体框架有了初步认识。接下来的课程总览就像一把钥匙,能帮我们打开整门课程的大门,清晰知晓课程全貌。有了总览的指引,后续各篇章的蓝图、时刻谋事等内容将更加清晰有序,让我们一同深入探究。 本课程定位聚焦批发零售联动实战,围绕电力交易全链条,以实际业务为导向,融合采购与服务,培养学员上下游实战能力。核心目标是构建系统交易能力,让学员树立系统思维,掌握全流程技能,实现从理论到实战的跨越。 本课程核心交付学员独立完成电力交易全流程闭环操作的能力包括分析用户、设计套餐等。教学特色多样,理论精讲,注牢基础,案例剖析提炼经验、模拟实战感受、博弈复盘研讨,优化策略,助力学员从理论迈向实战。 前面我们了解了课程的定位、目标、交付与特色。接下来进入蓝图片市场全景与交易逻辑基石,这部分将为我们构建电力市场的全景认知,明确交易逻辑基础。有了它,后续我们对交易流程等内容的学习将更清晰,让我们一起揭开它的神秘面纱。 本模块教学只在构建电力市场全景认知,以零售合同为价值与风险关键锚点,搭建决策分析框架。电力市场体系架构由政策、交易、物理三层级构成,形成完整运行体系。 核心交易品种分中长期、现货、辅助服务三类,各具稳定电量、价格、平衡供需、保障、电网安全之功能。 零售合同作为连接用户与市场的金融工具,兼具利润创造与风险承载双重之能,其利润主要源于零售店价与批发采购成本的价差,需精准分析客户并设计采购策略来实现盈利。批发市场价格波动经采购策略传导至零售端,直接影响成本控制与盈亏。 前面我们了解了零售合同的核心地位与价值导链条,接下来进入时刻篇,客户价值分析与零售套餐设计有关重要,精准了解客户价值,才能设计出有竞争力的零售套餐。那具体如何进行客户价值分析和套餐设计呢?我们接着看。 本模块教学只在让大家掌握客户用电行为分析模型,从成本与风险双重视角设计盈利型零售套餐,为交易策略砥定基础。 构建客户价值评估体系。可从负荷曲线特征、行业用电规律、信用评估三个维度入手,通过分析用电数据,精准定位需求模式,总结行业用电规律,采用量化评分模型评估信用。 零售套餐定价需先拆解成本含盖基核、封核、电量、采购成本及偏差成本,设计套餐时有固定价、规避风险、浮动价、传递信号等多种模式。定价可采用成本加成或竞争导向法,同时侧算不同场景影响,保障套餐长期盈利。 实战工作坊要求分组完成零售套餐设计方案,给定工业、商业用户数据,提供客户信息、用电数据等资料,每组人员分工明确,各小组提交完整方案,评估注重匹配度、准确性等。最后小组汇报讲师和专家点评,强化实践能力。 刚刚我们完成了零售套餐设计的实战演练,强化了大家的实践能力。现在我们进入谋事篇,中长期交易策略与曲线分解,这部分内容将帮助我们从宏观层面制定中长期交易策略,还会涉及曲线分解技术,接下来就让我们一起探寻其中的奥秘。 本模块教学目标是掌握零售端电量分解方法,制定中长期交易策略以锁定利润、管控风险。会讲解时间序列法等基础预测方法,结合数据与影响因素建模,用 m、 a、 e、 rim c 等指标评估预测精度,建立偏差量化标准,还会分析误差来源,用情景分析等应对不确定性。 取现分解与持仓量分析是中长期交易的关键,先通过零售复合取现分解技术,将用户复合取现拆分为可交易的电量块。再结合多因素研判市场趋势,确定关键节点。基于研判结果配置持仓量,实现风险收益平衡,且根据信息动态调整持仓。 本部分聚焦采购决策模拟,包含四个要点,先进行价格预测与风险偏好分析,确定采购边界条件。接着制定月度采购计划,匹配采购比例与时段分配。再结合短期市场动态优化周度采购策略,控制成本。最后通过模拟场景实战演练验证策略有效性与抗风险能力。 前面我们探讨了采购决策模拟,包含价格预测、计划制定等内容。现在来到精算片现货市场日前申报决策,此部分将聚焦现货市场的精算决策,对大家掌握复杂市场交易很关键。接下来我们将深入解析其具体规则和策略 模块。四、教学聚焦两大方面,核心目标是让大家理解现货市场运行机制,掌握在中长期持仓基础上,依据价格预测制定日前最优报价策略。还会详解日前交易规则,包含申报流程、时间节点等规范,深度解析出清机制与店价形成条件。 此部分围绕现货价格预测与日前申报策略展开,包含五方面内容,先分析驱动因素,如燃料成本等,以把握价格走向,介绍短期预测模行,为预测提供方法。通过盈亏平衡点分析确定决策机制,以此优化报价取现,使收益最优,最后结合风险限额,确保决策可行。 前面我们深入学习了现货价格预测与日前申报策略等理论知识,现在就到了将这些知识运用到实际操作的时候了。接下来的实战篇,模拟交易平台全流程操作将让大家在模拟环境中亲身体验市场交易,之后我们还会进行团队对抗实战等,值得期待。 本部分围绕教学目标与平台功能操作展开,包含三项内容,先明确仿真环境全流程操作目标,让学员直观感受策略执行与市场博弈。接着详细讲解模拟交易平台功能,助学员了解各模块,最后呈现操作流程,使学员掌握完整操作步骤,为后续实战打基础。 团队对抗实战安排让各小组化身独立售店公司,凭借自设计的套餐和采购策略,在模拟市场开启多轮次、多周期的交易角逐。同 同时会实时跟踪模拟交易市场出清结果,掌握各交易品种、成交价格、成交量等关键数据,并及时分析解读价格形成机制和各参与方交易行为影响。 刚才我们体验了团队对抗实战,并对市场出清结果进行了跟踪分析,现在开始进入复盘篇,这里我们将进行收益核算、偏差分析与偏差成因,后续还会深入探讨教学目标达成及具体的核算分析模型等内容。 本次教学目标在于掌握电力交易、财务闭环,精准核算盈亏,分析偏差解读账单,实现策略优化。全周期收益核算模型则通过批发测与零售测数值对账,明确成本收益,为盈利分析筑牢基础,助力学员提升电力交易实践能力。 偏差分析要追本溯源,从技术与管理层面找出不平衡电量的偏差原因,算出考核费用,再制定控制策略,降低损失。而电费账单深度解码是梳理各项费用的来源与关联,让电费组成一目了然,为后续决策提供依据。 交易复盘会将从交易策略执行过程、风险控制、收益情况多维度复盘。各团队模拟交易结果,复盘后提炼经验教训,为学员后续实践提供借鉴指导。采用小组复盘与答辩形式,各团队展示成果交流,以促进共同提升。 刚刚我们了解了交易复盘会的相关安排,现在进入重要的风控篇章。风控是电力交易中最为关键的环节,能保障交易稳定与企业利益。本章节将深度解读风险案例,并构建防控体系,后面还会详细介绍风险识别和具体防控策略。 教学聚焦树立全面风险意识,通过剖析典型案例,引导学员建立全流程风险认知。价格矩阵案例,凸显市场波动风险,提醒做好成本对冲巨幅偏差案例,强调负荷预测与控制重要性。信用违约案例表明需加强客户评估与履约管理。 售电交易存在多种风险,市场风险源于价格波动与政策优化应对,信用风险来自客户违约等,可严格评估与签担保协议,防控 操作风险由流程与系统问题引发,需标准化流程与应急预案。流动性风险因资金不足要规划现金流建预警机制,还可利用套期保值和止损机制控制风险。 受电公司内部风险管理制度纲要包含五个方面,明确各部门职责分工,构建决策执行监督体系,提供组织保障。交易授权与限额管理,防止过度交易。风险报告与预警机制,确保及时处置风险。内部审计与合规检查能堵塞管理漏洞。应急遇案,针对重大事件提升应对能力。 前面我们了解了售电公司的风险及内部管理制度,现在我们聚焦到课程本身。课程顶层逻辑与价值闭环是整个课程的灵魂所在,它将各个零散的知识串联起来,形成完整体系。那它到底是如何实现价值闭环的呢?让我们一探究竟。 电力交易活动以零售合同的盈利性为核心出发点,与检验标准贯穿交易全流程。在零售测,通过客户画像等挖掘客户价值是前端驱动力。在批发测,依据零售合同制定采购策略,控制成本是后端支撑力,二者支撑盈利核心。 电力交易分为事前、事中、事后三个阶段,事前谋划聚焦实客户、定套餐、谋策略解决做什么、事中执行。围绕精报价、巧操作解决怎么做,事后进化,通过勤复盘、严风控解决如何改进。七大模块环环相扣,形成能力提升、闭环保障教学连贯 课程体系设计紧密贴合电力交易业务流程,各模块与实际工作高度契合。理论电机环节,传授基础理论,筑牢实战根基。安利启发与模拟催练环节,将理论转化为实操能力。复盘升华环节,深度分析交易结果,助力学员从实践中提升,实现理论到实战跨越。 以上,我们详细介绍了课程的三个阶段与七大模块闭环体系,以及课程体系设计与业务实际流程的紧密结合。 该课程以电力交易真实业务流程为蓝本,能高效助力大家筑牢知识根基,增强实操体验,实现从理论到实战的跨越。在未来电力交易领域不断发展的道路上,希望大家能积极运用所学知识投身到电力交易实践中,持续提升自身能力, 相信通过不断学习和实践,我们定能在电力交易市场中取得优异的成绩。最后,感谢大家的聆听,期待与大家在未来共同见证电力交易行业的蓬勃发展!

大家好,今天咱们讲的是电力现货市场,首先呢给电力现货市场下一个定义,电力现货市场就是决定电力 实际交割的短周期,高频率的交易的一个市场,它和中长期交易最直观的一个区别,一个呢就是交易的周期,还有一个就是是否做实际的交割,中长期呢,属于一种金融的合约,对吧?就属于一种财务上的结算。那么反过来现货市场就是一个 实际落实你的发电交易行为的一个交易市场。好的,那么基于这个概念呢,我们可以总结出电力现货市场的四个特点。首先第一个特点就是进行物理交割,就是现货市场要进行一个实物的交割。第二点呢说明现货市场它是一个集中式的市场, 中长期的市场它是分为集中式市场和分散式市场,分散式市场呢指的就是场外交易,我们进行一对一的去协商,集中式市场就相当于是大家必须在一个统一的地方交易,那这个统一的地方是啥呢?就是电力交易平台。那么第三个特点呢,就在字面上短周期, 大家都知道它的交易周期最长就是日前,那么最长的就是提前一天。第四个特点呢就是它的交易与实际交割是分别进行的, 就是我一笔电力现货交易成交之后,我才会去进行一个电量上的交割。好的,接下来呢我们就把这个第四点单独的去进行展开。为什么是这样的? 我们大家都知道啊,这个电的物理特性要求呢,这个发用电的行为必须要达到顺时平衡,那么这个顺时平衡呢,指的就是要达到 毫秒级的平衡好。电力现货与我们一般意义上理解的商品现货,它最大的一个区别就是这个第四点,它的交易和交割是分别进行的,这一点呢就体现在这个 瞬时平衡上,也就是说呢,这个电力现货在买卖双方报价到达成交易,到通过了电网的安全叫和,再到出清,再到开机发电,那么整个的过程你是不可能在一毫秒之内完成的。 所以说即使是电力现货,它其实也是一个提前交易,提前先把交易达成,然后再进行电力的交割。这也就引出了电力现货市场和普通的现货市场之间的一个最大的区别,也就是它的核心架构, 日前市场还有实时市场。日前市场呢,我们之前讲过了,就是那个 s c u c 和 s c e d 啊,一个呃工作的流程,这个是日前市场买卖双方呢,提前一天去申报交易 爆料报价,或者说买方的只报量不报价,提前一天去上报我们的一个买卖计划。然后呢,系统按照一定的程序给你们计算一个预演的交易结果,为的呢就是我们提前预演一遍,别到明天真正发电的时候,我们再出什么大的问题,如果达成平衡了呢, 就出清。接下来呢,就到了交易日的当天,开始进行每十五分钟一次的滚动。 现在呢,我国大部分的省份呢,都还是十五分钟,那么可能呢,有部分省份已经提前做到了五分钟以后呢,全国可能大部分地区都能够做到五分钟, 每十五分钟啊,按照日前的交易计划去进行实际的匹配,看看这里面是不是还有偏差,那么我们提前十五分钟去确定接下来的交易,其实呢对于毫秒级来说呢,这个颗粒度还是相对比较粗的,所以呢实时市场再往下衔接,就是我们之前讲过的 辅助服务市场,比如说啊调频,比如说备用,他最终要帮助实施市场去实现发电用电的真正的 瞬时平衡。当然了,在日前市场和实施市场之间呢,还有一个日内市场,日内市场的作用呢,是对日前的结果进行一个微调,然后传达到实时去进行真正的执行。所以说呢,对于店内现货市场来说,他们两个 都是寓言啊,都不是真正的发电上的执行,真正的发用电的执行都在实时市场,也就是说实际上的重点在实时市场。好下一个问题啊,也是我们之前提到过的,我们之前讲过 中长期和现货市场之间的差价差量的结算,那么今天我们讲到了现货市场,再把这个逻辑呢给大家理清一下。我们都知道一个发电企业在签了中长期之后,会 会去到现货市场中去进行日前到实时的一个爆量报价,会出现很多个电量,很多个电价,可能我中长期签的这个合约的电量和我实时市场当中电量是不匹配的。 那么这个东西怎么去结算?我们之前呢把差价和差量结算都去算过,今天呢我们再以差量计算为例子,再给大家讲一下 这个里面具体是怎么回事,差量结算给出的一个标准的公式是什么呢?是中长期的价乘以中长期的量,加上日前的价,乘以 日前的量,减去中长期的量,再加一个实时的价,乘以实时的量,减去日前的量。好,这个逻辑是什么呢?比如说 中长期签了一百,日前出清了一百五。我们先来看现货啊,因为现货是实际去执行的,日前卖了一百五,但是因为呢,中长期之前已经签订合约了,所以这里面有一百是按照中长期的价格去执行的, 那么剩下还有五十是实际上现货市场拿到日前去执行,再扩展到实时。假如说实时卖了两百,相当于呢,这两百中有一百五已经在日前扩展到中长期去解决了,那么实际上算下来,实时只有五十。 反过来啊,假如说中长期签了一百,但是日前呢,只出清了八十,那么这个数呢,减出来是负二十,这个其实也非常好理解,我中长期签了一百,但是呢,我现在只卖了八十,那么剩下的二十怎么办呢?我是不是需要买回来把它平仓?买回来把我的卖单平仓,那么这个乘出来一定是一个负数, 我作为一个发电企业,那么负数呢,就是等于是我买电,逻辑上就是这样的。好,这个是第二个问题。最后呢,再说一个大家问的比较多的问题,就是省间的电力现货交易和省内的电力现货交易,他们之间是怎么衔接的?这块呢,比较复杂,我们简单来讲讲,直接说流程。首先啊,比如说有两个省, a 省和 b 省,这个 a 省呢,它是一个送出省,也就是相当于卖房, b 省呢,它是一个售入省,等于是一个买电房。 那么对于 a 省来说,他应该怎么做呢?他是一个卖房。首先要进行的是省内第一次日前出清,这个的目的呢,是确定在刨出去我省内的需求之后, 我能够向外攻出去多少,确定之后就进行省间的日前出清。然后呢把省间交易的结果再反馈给省内,进行省内的二次出清,最终确定省内日前交易的一个出清结果。 然后呢,就是一些衔接性的交易,这个呢就是卖出省,那么买入手呢,正好相反,先进行省间的出勤,这个呢是为了确定我在向外省买了店之后,外省能够满足我本省的多少需求之后我本省还需要发多少电。把这个确定了之后, 发布日前市场的边界,发布之后再进行省内日前出境。这个呢就是省内省间现货交易的一个衔接问题,属于一个流程啊,因为具体的问题呢,它比较复杂,我们就不在这讲了。以上就是今天我们要讲的内容。

大家把该学习的先先学习了啊,让你们上课是是完全听不懂的啊,不知道好几次这个实践课, 但是后面发现那个都没有人交作业都不会弄啊。好,今天我们讲课的题目是电力市场化交易政策与绿电交易。本次授课共分为六个章节,第一个是政策地图速览, 第二个是速配电价升前,第三个是分时电价指挥棒,第四个是市场化交易核心,第五个是滤电滤震联动,第六个是碳市场传导。 首先我们讲第一张政策地图速览,就是中国电价政策金字塔全貌,国家部委省三级架构以传导时差啊。第一个哈,我说一下顶层设计 就是中共中央国务院双探哈,提出了这个刚领性的文件。核心的,大家知道三零六零吗?有人知道这事情不对,具体怎么弄?有人知道不对, 小温是比较不错的哈,整体来说哈,就中国是,哎,等一下,我看一下这个怎么好。 这个还有,大家如果有有想法哈,有疑问尽可能在课上提,别东问一个西问一个的哈, 或者可以由老师收集完以后就是统一来提问。我。前几天就有人问我哈,店交易没业绩会怎么样哈,没业绩如果你在央国企的话,基本上还保得住,是民企的话基本上就就开了啊, 所以就交易能力一定要强哈。核心执行层是国家发改委和国家能源局电价审批与市场规则一方,差异层是各省发改委、工信厅苏配电价与交易细者。 这个政策传导时差通常为一到三个月,建议建立这个时间轴追踪,重点关注广东、山西、浙江、山东、蒙西等改革前沿地区啊。政策获取四把钥匙。第一个是哈官方的 新媒体订阅国家,你可以关注一下国家发改委和国家能源局的这个政务微信公众号,开启即时推送。 中央文件库,在中国政府网中央文件专栏,按电价等关键词建立 rss 监控。 第三个是省级驾库表哈,在省级发改委或者你们直接就在百度上搜都可以的哈,叫叉叉省的速配电价表哈,下载 excel 附件。 第四个是交易中心定区,登录北京、广州两大国家级电力交易中心的平台,抓取交易细节与结算方法同步是建立本地文件夹哈,按月归档,方便后续版本的对比与关联分析。 好,这是啊,我下载的这个国王陕西八月份的店家表,大家这个能看懂吗?有人能给我说一下不?太小了是啥意思你们看不清吗? 你自己可以放大了呀,你或者把这个标题你放到那个百度上,你可以搜一下啊。好,那我结束完我先结束一下共享啊。 好,刚才我已经把树发群里面了哈,大家能看见不?有谁能跟我分析解释一下,直接开麦说,有人说没有分享,分享本来就是直播课,大家其实也就是一个交流的平台吧, 是吧?有人说没有,这是风骨,电价比较大,对,你们能看懂吗?这个大竹树的树的插在这里啊, 你说啥?售电公司有差价呢?售电公司差价是你自己报的,你报的以后再去和这个比。这是用户,这是国网公司代理的,这是国网公司代理的 公商业用户电价表,一个公司的行为是吗?不是,这是国网公司代理的所有非入市客户全部按这个价格结,普通用户的没经过售电公司的价。对,是这个意思 啊,那如果都是按照这个价格来结算的话,你怎么赚钱?所以我们售电公司要比这个做的低啊。 现货市场对物流公司卖的店价应该比这个店价还低几分钱。低不了几分,低几厘 低几厘,那就没有什么就是这样子的,一个一般的工商用户,还有一个大工商用户,还有他等级不一样,他的蜂鸣鼓有点差异而已。对,让他进锁,这个我们是想结合上一张,这个就相当于是我们政策获取的四把钥匙, 其中一个是省级驾库表,你看没,他每个月的这个就不太一样,这个就可以在省级发改委官网上搜索或者查询, 来了看,我就出一个标准的一个价格给到大家。这个意思。对,给大家说一下查询的方法,就是结合查,这个也是我自己查的,能看明白吧? 以后上完我们课以后,你别说你不会查这些啊,这些都是教到的,像那天网上你说啥。对, 在网上直接就有的,这些都公开的哈,我们拿的都是公开数据。好,第一个大家已经会查了哈,第二个我们说一下苏菲店价的深浅,第二张啊,苏菲店价三年周期拆解哈。 第一个是基于许可成本加合理收益的原则,每三年一周期,任何单点变动都隐含电网投资结构的变化。 许可成本包括固定资产折旧用为费用税金的是合价基础,合理收益是基于有效资产和核定收益计算, 保障电网的可持续发展。分析要点是将价表与能源局发布的电网规划放一起读,可提前预判三年增量配网与储能的接入机会。 这个华东某省三十五千伏大功率用电中,本期电价中基本电费下伏零点八每千瓦时,而容量电费上调呢?两元每千伏安一月,这反映了电网对高效利用存量资产的激励导向。 我们的输配电价哈,是每三年一盒,大家知道现在是第几版输配电价吗? 马上又要重新合了,没有影响啊,因为书费电费是电网公司收取,何高何低你你都要交, 但是交易的话是多少价是,是多少价?比如说我现在和你谈的交易是四四毛钱, 他这一期的输电费是一毛一,你就拿四毛加一毛一,但是下一期他合合到一毛了,你拿四毛加一毛啊。所以大家明白了哈,输电价和我们交易本身没关系哈,好,电压等级的差吗?哈, 同一省份不同电压等级价差巨大,背后对应电网资产分摊成积哈。 比如说每一个省是二百二十千伏的,一个省网如果降到一百一十千伏,地网降到十千伏的配网啊, 二百二十千伏和十千伏的输配电价能相差一分钱啊,所以我们鼓励越高电压等级越好哈。我问一下大家,是二百二十千伏输配电价等级呃,供电费贵还是十千伏? 那个电费贵是哪个贵啊?你们说一下十千伏贵对吧?啊?对啊,是的哈,所以我们鼓励建更高电压等级的哈,因为他十千伏的线损率比较高哈。数据中心,数据中心是专线降本哈, 某数据中心自建一百一十千伏专线后,哈电价下降百分之五年用电四一千瓦时, 能节省电费二百四十万元哈,投资回收期是八点五年哈。这个就相当于如果像很大的客户啊,他可以自建自建变电站哈,差不多,基本上是大客户才才自己建哈,小客户谁自己建的起啊?对, 一般你,你们知道那个吗?山东魏桥铝业,这个这个案例比较出名哈,山东魏桥他是全部从发电厂到变电站到线路都是自己建, 建到以后他的成本每度电比国网要低一毛左右啊。这个你们可以在在网上搜到的啊,所以他交不交易对他来说无所谓,因为所有场站都是他的啊。 第三个,我们讲一下分时电价的指挥棒哈,封股价差四比一,红线落地,这个全国平均封股价差已经到四点三比一哈。这个其实还不算夸张的哈,山东,大家知道就是五段哈, 能够到负负价啊,中段是是几百啊,相当于看见了巨大的套利的空间哈。 山东,你看夏季是放电尖峰,他是一块一毛八,平段是五毛五,深股是零点一八,如果你有储能设施的话,你可以零点一八充,在尖峰时刻放啊。你你,你看看这个利润空间有 有多大啊。用户,这储能哈,这个地方没写对哈,每日其实只能做到一冲一放啊,或者是两冲一放,这个两冲两放还是比较困难的啊。 理论心态,回收期已说是五年,但是我没做过光啊,储能的实际运行过,我感觉五年可能可能做不了,我感觉可能可能够呛啊, 所以你看这个风骨大叉哈,这非是非常夸张的哈。对,小文这个应该是做工程好多年了哈,我看你考虑问题是比较周到的啊, 所以这种大投资的我也是不做的啊,我感觉风险比较高,但现在看着挣钱,但以后以后不一定。嗯,对, 所以我感觉我们班啊,我感觉你们水平在逐步提升啊,因为你们问的问题,从此前的纯小白现在变得没有那么小白了啊, 所以目前来说,所以你你们看一下啊,封股价差和现货给我们从业者带来了更多的机遇和 和空间,这个是有的,但你也要做的比较好啊,你做的比较好你才赚的来钱,不然你在现货市场上他不是谁都能套你的啊。这个有有亏有赚啊, 像我们属于运气比较好,基本上在现货市场上还没亏啊,所以这个也是和这些有有关系的哈。 好,再讲一下这个季节性与负荷预测的挂钩啊,部分省份依据电网负荷预测动态调整尖峰时段价差,风险与机遇并存。这个连续高温就是负荷负荷激增, 日前预警追加尖峰价格飙升是风险与与机遇啊,复盘案例是二三年江苏七月份啊, 一连续高温,电网在日前公告追加两小时监封时段,导致当天的现货价格飙升至一元每千瓦时。高耗能企业若提前调整生产或卖出可作量负荷,可获得额外收益。呃,对于我们来说主要是, 所以我们主要就就会考虑哈,第一个是季节性还有负荷性,像一般来说哈,全年负荷性最低的,你们猜一下是几月份?你们想一想,全年哪个月负荷最低?你们想一想, 南方北方应该都差不多啊,不对哈,再想想,你们可以说一下原因是什么。对,过年期间哈,因为大家都无心生产了啊,都想回家了。就过年嘛,过年那个月嘛, 一月份,过年就一月份嘛,二月份,过年就二月份,很容易理解吧,所以这块的话,我们做电力交易哈,要考虑季节性和负荷性啊。啊,好, 第四个讲市场化的交易核心。第一个是浮动上限,仍是国家调控电价的核心法门 与梅架高度联动,机准架上下浮动百分之二十,梅架高起时触发顶格上浮百分之二十, 如山西、广东电价分别涨至四六六和五四四,煤价低米时出现下伏百分之二十的窗口,为长期用户锁定低价电量提供机遇。这个可以用回归模型来做哈,电价是等于零点四二乘以煤价, 煤价是有之后的,加上六十啊,这个模型可以提前预判月度进价的结果,误差可控制在百分之五以内啊。如果是你们,你们愿意和电厂签这个就是电煤合同吗? 是我,我是愿意的啊,你为啥不愿意呢?错了,这个才没风险。兄弟,这个因为他煤价高的时候店价你相应高,你多付钱。煤价低的时候他你店价也低, 他联动的,这种反而问题不大。对啊,这种还好啊,这种,但是你也赚不了大钱,但你也亏不了啥啊。 是的,差不多是这个意思啊,这张我记着给大家说过吧,就基本价上下浮动是百分之二十,但是是高耗能企业的话,一般来说就可以上浮到百分之五十, 因为国家现在不允许高耗能企业做过多的一个生产。好,我们讲一下这个曲线交易和分时结算啊, 现货市场以九十六点曲线交易替代传统电量交易,对符合预测精度提出了极高的要求。 某钢厂因曲线预测偏差百分之五被现货追收十三万元啊,这个很多的哈,所以曲线一定要尽可能准,特别是大户。大户我们一般定义是五千万以上哈,一年一年用电量五千万到 到一亿的小户的话,基本上拿给我,只要小户问题不是太大,你那曲线不是太差,我们都都可以做, 因为那个小户他并到整个收电公司盘子里,里面基本上没啥影响。对,是的,就相当于你这个盘子越大,你抗风险能力就就越强吗?这个这,这很容易理解, 所以我一般盯的盯五千万以上的大户啊,一般那种小户们只要差不多不可以做啊。你,你曲线,你说你多用点风平,少用点风平,赚那点或者亏那点,我我不是很很在乎啊, 就赚就赚了,亏就亏了,因为他影响不了啥啊,所以我们小户拿给我们,我们基本上都都同意的啊,但小户很多时候其实是是是不挣钱的啊, 都是最后拿给钱,要不拿给局间商了,要不拿给用户了。实际上我们没没赚什么钱,我们主要赚大户的钱啊, 小户那一个一年个一百一百来万,一百来万的电费,你给他降个两厘你才赚。赚两千块钱是吧? 你干一年他妈才赚两两千块钱,你说和和亏两千其实对我来说没有什么区别啊。 小户你也要做嘛?你不可能只做大户嘛,市场你都要接嘛。如果是我自己的话,小户也要接是吧?小户也是你的一个基本盘嘛。是的,有聚少成多的啊。 你小户嘛,反正你一般是每天一考核啊。是二十四个点啊。

我们找了一天作为想预测的目标日,又用方法找到了历史上和他进价空间相似的一天,我们把他们的数据点画在了同一张图上, 我们可以看到我们把这个日前出新的这个两个日子的放在数据点,放在了同一张图上,那神奇的事情发生了,虽然说日期不一样,但是相似历史日的点和目标日的点,它的分布模式是一个高度重合的状态,尤其是在电价快速上涨的第二阶段,几乎是一个高度重合,就是我们可以看到第二个阶段都是从 大概在这个的进价空间的位置开始起来的,然后进入到下一个阶段,这就证明了我们的思路是对的,要寻找进价空间相似的历史日期,不仅要找到数值相近的日子,也要捕捉到 进价空间如何去影响店家这个内在的动态规律,这就比单纯看数字大小要靠谱的多。那新的问题来了,我怎么从几百天历史数据里快速准确的找出那几天相似的日子呢? 接下来我们这里也要引用到一个数学工具,叫做鱼弦相似度,大家不要把被这个名字给吓到,我用人话来解释一下,我们把一天二十四小时九十六个时点的进价空间数据想成是一个有九十六个箭头的组合,专业上也叫做向量, 想预测的那天有一个这样的向量,历史的每一天都有自己的向量,那鱼弦相似度就是用来计算这两个向量箭头方向有多接近的指标,它的值在负一到一之间,那它的值越接近一说明两个向量的方向越一致,也就是两条进价空间,取现在全天的走势形状非常相似,那值 越接近于负一呢,则表示越不相似。所以我们不需要手动比较每一天的曲线,只需要用公式计算目标日和所有历史的这个余弦相似度,然后把结果进行一个排序,选出最高的几天,比如说前五天或者前十天,这些就是我们要找的相似日,那这个这种方法会更加高效客观。 当我们找到了最相似的几天的历史数据,我们就要把他们的所有的进价空间、电价数据点都合在一起,形成一个丰富的样本库, 那基于这个样本库就要去进行模型的构建。既然我们之前发现关系是分段的,那我们模型也必须是分段的,我们用的方法就叫分段、限行、回归。听起来高级,其实就是分三步走,很好理解。第一步就是划段,你要从哪里开始分?就是根据数据点的分布决定在 进价空间的哪几个数值上切一刀,比如说我们观察后发现可以在进价空间等于三千、六千、九千的地方切三刀,这样就把数据分成四段,就是这个意思。第二步呢,就是每段内部那些数据点大致是按着一条斜线去分布的, 然后我们就是为每一段找出一条最优的你和直线,这条直线就能让它到这段里所有点的距离之和最小,这样我们就可以得到四个或者三三到四个直线方程。 那 x 就是 进价空间, y 是 预测电压, a 是 斜率, b 是 截距。当 x 在 不同段时,也就是当 x 进价空间不同段,那我们选择的公式也不相同。第三步呢,就是保证接力的顺畅性,这也是一个重要的细节。我们虽然分了四段或者分了三段,但最终的模型是一个整体的函数,我们不能让它在切刀的地方出现断崖式的跳跃。 就像我们火店的报价策略一样,是连续的,也就是进价空间的起始点是连续的,要保证整体模型的平滑和合理性。好了,以上就是我们今天全部的内容,我们从头到尾梳理了一遍, 大家可能会觉得里面有一些数学概念,但他的核心思想始终是那个朴素而强大的逻辑,就是从历史中寻找相似的规律来预测未来。理论是地图,实操是走路,现在大家应该对我们要走的路有了清晰的认识,那下节课我们会打开 excel 表,一步一步带大家亲自把这个预测模型去做出来。好啦,拜拜! 在接下来的课程中,我们将通过一个核心案例,四大实战模板,七个核心模块,亲手带你走完一个从零售签约到收益结算的完整交易周期。 整个过程,我们将使用我为大家独家准备的决策模板,让你像真正的交易员一样,用数据说话,用工具决策。

紧急电力交易的就玩法要失效了!这四个新趋势,看懂的人已经开始布局电力圈的老板们注意了,行政分时电价取消不是小调整,是把整个行业的游戏规则都换了, 还在用老办法做交易。搞储能装光伏的,半年内可能就被市场淘汰。今天我把电力市场的新玩法和财富暗线一次性讲透,不管你是售电公司、储能厂家,还是光伏业主,看完都能找到自己的新机会。 很多人只看到取消行政分时电价的表面,没看懂背后的平衡成本分摊逻辑。新能源占比越高,电力系统的平衡难度就越大。以前是电网都抵,现在要发电测、用电测一起分担成本。 这就像把大锅饭改成各自为战但整体受益的机制,专业术语叫激励相融。 简单来说,以后发电测要根据市场需求调整发电节奏。比如一百三十六号文推动的新能源电价市场化,用电测要根据实时电价调整用电行为 就是这次政策要实现的。电力交易人就是要在这工虚实时博弈理,找到赚钱的机会。玩法一,售电公司的生死进化 以前赚批零价差是信息差套利,现在必须变成能力套利,两种能力决定生死。交易算法能力,像做股票量化一样,通过大数据和 ai 预测店价,优化持仓, 争取每度店都比市场均价拿得更便宜。用户调节能力深度绑定企业,帮他分析用电区线,挖掘柔性负荷, 一起在市场上捕捉低电价。比如一家工厂原来用电均价三毛,通过调节后降到二毛八,这中间的收益双方分成,这种订阅制模式才是售电的未来。玩法二,储能的重生之路别再幻想靠风骨套利躺赚了。 存量储能必须升级智能大脑, ems 系统,能实时对接市场电价,自动决策冲放增量储能要走异于多吃的路子, 既参与用户侧调风,又能作为虚拟电厂的电池单元参与电网辅助服务,甚至和光伏打包成独立储能拿补贴。 那些还在卖啥储能贵的,赶紧转型做储能系统解决方案吧。玩法三,光伏的价值重估光伏不是不能装了,是要聪明的装。以后装光伏得算清楚什么时候发电, 发多少电,能不能和用电高峰匹配,能不能通过储能把电存到高价时段卖。那些只看屋顶面积,不看用电特性的光伏项目, 大概率会变成赔钱货。反之,把光伏储能需求侧响应结合起来的智慧能源系统, 能把绿电价值最大化。玩法四,综合能源的万亿赛道电力市场的终极形态是综合能源服务,把冷、热、气、电、碳全部整合,给企业提供一站式解决方案。比如一家工厂通过综合能源服务,不仅电费降了, 热力成本、碳排放成本也一起降了,这才是未来的暴利领域。电力市场的改革,本质是专业能力对资源关系的替代。以前靠喝酒拿项目的时代过去了,现在靠算法、靠技术、 靠对用户需求的深度理解才能活下去。未来的电力富豪,一定是那些既能玩转电力交易市场,又能整合用户侧资源,还能把综合能源玩明白的人。现在问问自己,在电力市场的新玩法里,你最擅长的是交易算法、 用户调节还是综合能源?你觉得电力市场下一个爆发点会是虚拟电厂,还是综合能源服务商?评论区说出你的观点,点赞最高的三条评论我会私信送你。电力市场玩家能力自查表,帮你找准自己的定位。

欢迎来到光复元电力交易频道,今天给大家分享第十二个知识点,中长期及现货市场的逻辑关系啊。这个相信很多朋友都听说过,中长期市场听说过现货市场又有什么日内市场、日前市场、时市场等等,他为什么啊?一个简单的交易要搞的这么复杂 啊?相信通过这一节的一个概述,大家能够体会到为什么要这样设计,以及不同的呃,交易之间他是怎样一个逻辑关系。这节呢,我们是以光伏电站为例啊,做一个简单的举例。 呃,首先给大家说一下,因为这个内容相对来说还是很绕的。呃,这个视频呢,我们是进行了个简化,便于去更加凸显他 不同交易之间的逻辑关系啊。具体的文章大家可以看光复元网站发布的叫中长期级相互市场逻辑关系啊这个文章,这个文章对中长期级相互市场一些定义 啊,一些核心内容讲的非常清楚,大家可以听完视频以后再反过头去看这个文章啊,相信会有一个更大的一个要更深入的一些了解。那我们正式开始。那首先呢, 为什么电力市场要搞这么复杂的一些交易,那这跟电力的特性是有关系的 啊,在大概在这个电力交易的第一节还是第二节,我们就讲到电力的属性是一个用电负荷跟发电能力,它是一个水势平衡的,那我们举个例子啊,假设这是一个河,这是一条河啊, 我们把河比做一个电网,河的上游呢,很多水源进来,河的下游呢,就有很多水源的一个流出,那就是我们想一下,如果流入和流出是平衡的话,那整个河道可能不会有问题。那我们想一下,万一哪一天某一个支流 直流啊,下了很大的雨,暴雨,然后流量突然增大,那就会导致整个这条河可能就会出现 啊,一些洪涝灾害。那对电网系统也是一样,那我们可以把什么把流入部分看成是发电电进到我们的电网,然后流出部分呢?是电 给到我们的电力用户,因为我们说电力交易,电力交易其实大家都是通过电网来形成的,并不是你这个发电厂直接对某一个企业啊。电力交易不是那个是绿电直连啊,我们这里讲所有的东西通道,所有的这个电都要走这个电力系统通道啊,他不是一对一的,那如果流入和流出 不平衡了,那可能就会产生一些危害,比如说流入突然增多了, 流入突然增多了,或者流出突然增多了,都会打破系统的平衡,危及这个河道的安全。 呃,电和河道可以是一个道理的,但是对于电力系统来说,他更特殊,因为他的发电和负荷是很不稳定的。发电为什么不稳定?比如说我们讲光伏电站或风电厂也好啊,比如说讲光伏电厂吧,光伏电站那一阵云飘过来,他的发电能力立马就下去了, 那对于发电厂来就啊,突然有一阵风稍微大一点,那相当于我们这个流入部分是不稳定的,流出更是一样。 比如说我们工厂的设备可能会随时开机和停机,那流入和流出他都是不稳定的。所以说怎么样去平衡这个流入和流出,对电网的要求是非常高的, 那怎么办呢?你不能,电网没有限制的,你想发多少就发多少,或用户想用多少用多少,这是不行的。那怎么办呢?那这个时候电网是需要发电企业啊,比如说光伏电站、发电厂和用电单位,比如电力用户 提前申报你的发电量和用电量,比如说你要提前申报某年某月、某日某十五分钟的发电量,你呢申报某年某月、某日某十五分钟用电量,那各家把发电量 报上来,各家把用电量报上来。那这个时候呢?电网啊,就是电力系统会通过一系列的方法 啊,想办法去保持这个整个系统的一个平衡,那这个这在这种情况下啊,整个电力系统相对来说才是稳定的。那这个也是比较核心的一个逻辑,就是我们讲发电和负荷基本上是要损失平衡的。但是有一个问题啊,用电单位、 工厂提前申报用电量和发电单位提前申报发电量,他也不一定准,他不一定是准的, 那怎么办?那这个时候相当于啊,电网企业会尽量要求你去提高这个精度啊,精度越高,那对于整个电网系统平衡来说,他处理的更轻松。 如果说你精度很差的话,那这个时候对电网系统来说,你虽然报了,但是你报的很不准,那对电网系统来说危害还是非常大的,所以这是一个很现实的一个情况。那接着该怎么去办? 那这个时候我们对比两种预测啊,两种方式,看哪种精度更高。第一种呢?比如说在年度协议里边,我在一月份啊,签了一个年度协议,在这个年度协议里边,我预测了五月十七号就是五个月以后上午十点到十五点的发电量,我预测一个值 啊。第二种方式呢,是我在五月十六号,就是在前一天,五月十六号的时候,预测五月十七号 十点到十点十五分的发电量啊,这个也是预测五月十七号的啊,那哪一个准确度更高?那肯定是前一天准确的更高,因为在前一天的时候,他可以结合第二天的天气预报等等这因素来 对这个发电量电站的发电量做一个相对来说更加准确的一个预测 啊。这个是很明确的,因为临近近期,越越是近期,他的预测的准确度是越高的。所以从电网特性上来看,五月十六日预测的五月十七日的各个时段的发电量相对来说更准确。那隐身到电力现货里面讲的五月十六号这一天指的就是日前市场 啊,然后一月份预测的你就可以认为是一个中长期市场。所以说我们看日前市场和中长期市场呃 的相对来说啊,日前市场他预测的准确的会更高一点,他对整个电网系统 的一些安全运行意义更重要,更重要。所以日前市场啊的必要性就体现出来,并不是说只有一个中长期市场就能搞定的事,日前市场是 相对来说是很重要的。那更深度的理解是什么呢?我们可以这样认为,五月十六号预测的五月十七号的发电量,其实是对一月份预测结果的一个修正,比如说一月份预测这个,呃,十五分钟发电量是三百度, 那我在五月十六号预测,五月十七号呢是三百一十度,那这个时候相当于三百一十度是对三百度的一个修正啊。所以说从这点就可以看出来,中长期和日前市场它并不是矛盾的啊,相反它是一个相互补充的一个逻辑关系 啊,它并不冲突啊,它都很重要。那我们接着看了,基于刚才说啊,电力特性啊,要求我们要尽可能的提前去申报用电量和发电量来保持电网的平衡 啊,基于这个问题才会涉及到远期的预测,还有一个近期的预测,嗯,接着呢,我们就要更深入, 不得去探讨为什么要设置这么复杂的市场。其实刚才大概内容都给大家,大家说了,我们在细化,通过两个问题来给大家去解答。第一个,既然中长期预测不准,那作为一个发电企业来说,能不能只考虑现货市场,那既然中长期你都不准了,我只考虑现货市场行不行 啊?给大家说,不是说不行,而是说什么现货市场它的价格波动很大,大家应该经常听说过负电价、负电价,其实负电价指的就是现货市场 现货里边的实时市场,现货里边的实时市场会经常出现一个负电价,那这个就会发现,如果说你把啊所有的风险都放到了现货市场的话,就会导致你整个发电企业啊的营收 啊,或者说是一个整个的收益会有个很大的风险,所以很多企业呢,会把大头压在中长期,中长期相对来说是很稳定的,也是可预测的啊。就是价格来说是大概是可预测的啊,只是留住一小部分啊,在现货市场啊,比如说进行一个盈利啊,或者进进行一个调差等等 啊,就是第一个啊,能不能只考虑?不是说不能啊,只是说,嗯,应该没有企业会傻到把所有的东西都拿到现货现货市场去做。那如果那小小的发电企业可能是另外一说啊,啊, 第二个,中场积电量乘以中场积电价,是不是等于发电收益啊?对于新能源来说,不是的啊,对,新能源,因为新能源包括光伏和包括风电,它的一个, 嗯,受外界条件影响太大了,他每时每刻的发电量他都可能会变化。那我们来详细探讨。举个例子,假设某一个光伏电站年预测总发电量是一千万度电,然后呢?企业为了保底啊,规避市场风险啊,拿九百万度电出来, 与用电企业或者售电公司签订了一个年度中长期合约,合约这样约定的价格是三毛钱一度, 那理论上大家觉得我签了九百万度电的合同,三毛钱一度电,那我这九百万度电的一个收益,那肯定是九百万乘零点三 啊。实际上并不是这样的,因为我们卖电跟他说了,电他是要水质平衡的,他跟我们卖鸡蛋不一样,卖鸡蛋来说,你一年供给他九百万颗鸡蛋,可能某一天多一点,某一天少一点,只要总数到了就没问题,但是电不一样,电相当于他每一个时段他都要有有一个很详细这个约束的 啊,我们再再继续深入去探讨一下,为什么说我们做中长期协议并不是只约定九百万度电就完事了的,他还要进一步的约定,约定什么呢? 中长期交易并非仅锁定总电量,他还要将总电量分解为对应时段的电力曲线。比如说啊,年度电量他会分解到每个月、每一天、每十五分钟的发电量, 那这时候你把九百万度电分解到每天、每月、每天每十五分钟,那如果说你的实际的发电能力能跟这十五分钟完全匹配,那可能没问题,但是对于我们新能源项目来讲,这个是不现实的,那肯定不可能是做一个匹配的,因为本身新能源项目的预测这个东西相对来说准确度不是特别高 啊,这也是一个比较典型的实际情况,我们继续往下分析啊,我们刚才说了,其实这个就是中长期啊,这个就是中长期,在中长期的时候,我会预测每月、每日每十五分钟的时段 假设。我们再继续深入分析假设,我们从啊根据这个分解后的曲线啊,刚才讲的一个电力曲线里边抽一个时段,这个时段比如说是五月十七号这一天的上午十点到十五十点十五分,这一个十五分钟的一个时段 啊,预测发电量是三百度电,那准确性准不准?他肯定是不准的啊,因为风电、光伏他的实质性的发电能力跟外边的影响太大了。那既然你这个三百度电不准啊,三百度电是前期预测的,你又不准,那这个时候我们想一下,如果电网直接拿你这三百度电 啊,作为这个企业这个时段的发电量,然后参与到整个电力系统的核算啊,然后就会出现一个问题, 风险就会很大。为什么呢?因为你这个三百度电跟你实际的发展能力可能会有很大的偏差,万一这个时呢发电量是三百一十度,那你多的十度电怎么办?这个十度电怎么办?可能两个方面去处理,相当于你多了十度电,这十度电的钱怎么算?如果少了十度电, 少了十度电钱怎么算?另外对于电网系统来说,本来他是拿你三百度电作为一个电力平衡估算的,结果你发了三百一十度电,那这三百一十度电对于电网企业来说,他怎么样进行一个平衡? 那从这一点就可以看出来,你拿年度预测的结果去呃,交给呃电网企业进行核算的话,是不靠谱的。那这个时候怎么办呢?这个时候电网说我给你一次调整的机会, 因为你这个偏差太大,可能会受到考核的。啊,我给你一个调整的机会,这个调整怎么去调呢?我们刚才举的,这是五月十七号的上午十点到十点到十点十五分,那这个时候我给你个机会,让你在五月十六号这一天,就前一天, 你再重新预测五月十七号上午十点到十五点的发电量,那这个相对来说它准确度就会非常高了。因为五月十六号的时候,我可以看天气预报,我可以通过啊,各种一些综合预测 啊,预测明天某一个时段的发电量,那这个发电量肯定会比我们年前预测的准确了很多,比如说我预测的是二百九十度,那这个时候呢,对于电网企业来说,你要把二百这个时段的二百九十度电报给 我们的电网企业,同时呢也要给个价格,就是报量报价,这个价格可以是零,也可以是一个小小数。为什么?因为我们这里最终会出现一个出清价。为什么是零?大家可以考虑一下,因为你要是零零零电价报的话,他肯定会优先把你这个二百九十度量啊纳入到交易里面去 啊。但是最终结算也并不是零,因为最终都会一个统一出清价。电网企业呢,会综合各个发电企业和用电企业的申报量价, 以及电网的一个安全约束,发布一个统一的价格。这个呢叫日前出勤价三毛五一度。换句话说,比如说我预测这个时段是两百九十度电,我报的电价是零,实际上你中标之后, 你发的两百九十度电的结算价是三毛五啊,是三毛五,那你就说我把这个电价报高行不行?我,我报一块钱一度行不行?你可以报,但是你报的话,这个时候你这个可能就中不了标,中不了标就相当于说你就这个电你都发不了了 啊。这个呢,就是说我们我提前一天给你一个机会,给你一个报量的机会,也给你一个报价的机会,如果说你顺利中标了,那好,相当于对电网来说,我就认可了你。呃, 提前一天申报的两百九十度电,以及它最终的出现一个出勤价格啊,这个是结算的一个指标之一啊。 这一套东西其实就叫日前市场,日前市场你就可以理解成五月十七号的前一天做的一个预测,这个叫日前市场。好理解,日前指的是交易日的前一天,那日前市场其实就是现货的一个内容了。在这里我们就第一次看到了中长期跟现货的一个对比 啊,中长期和现货其实是这样对比的,只是说这个日前市场只是现货里边的其中啊,第一步,后边还有,还有呢,叫日内市场。 你比如说啊,我昨天预测今天怎么样,突然间啊,可能天气变化怎么怎么样的啊,我会发现我这个昨天预测的值还不太准。那五月十七号时候,他还会给你一个调整的机会,对五月十六号的电量申报电量进行个微调,接着呢就进入到实时市场了。 进入实时市场以后,系统是以十五分钟做一次结算,那有些省份呢,是以五分钟做一个结算,它结算什么呢?说白了就是对比以实际的发电量,这个企业实际的发电量和日前申报的电量的偏差, 这个偏差有可能是正值,也可能是负值。你比如说我们之前说啊,预测这一个十五分钟,我日前申报的一个电量是二百九十度电,二百九十度电。 但实际上呢,我这十五分钟可能发了三百二十度电,那就意味着这里边多发了三十度电,是正偏差,那也可能负数,我实际只发了两百五十度电,少发了四十度电,那又是一个负偏差。那对于正偏差和负偏差,对企业来说啊,他是有一个, 就相当于你算这个惩罚或奖励也好,或算是一个什么也好,他又会出现一个实时店价,实时促进店价。你可以这样理解啊, 比如说 a 企业在这十五分钟里边出现了三百二十度的一个实际发电量,相当于它比我们原计划发了四十度电,但是有可能其他企业少发了, 也可能是用电企业多用了,或用电企业少少用了。总而言之,在平衡市场的条件下,它会对这一个时段,本时段也给一个价格,叫初清价格, 叫实时出勤价格,这是第三个价格了。比如说三毛五一度电,那他表达的意义是什么呢?你比如说啊,你提前啊,假设啊,假设你申报了两百九十度电,但是你只发了两百五十度电,你还有四十度的缺口,怎么办?那这个时候 可以这样理解,你这四十度电的缺口,负的四十度电,你要以这个实时出勤价格, 你从市,从这个市场里边以实时出新价格把这个店买回来,去补偿这个缺口。你可以这样去理解, 那这个时候啊,相当于,这不,你相当于报多了,发少了,那这个时候呢?呃,对应的这部分就是负的四十乘以零点三五计算的时候,就相当于是一个减值了。那如果你发了三百二十度电呢?三百二十度电,那那个值就是正数啊,三百二减二百九至三十三十乘以零点三五, 就像你多发的件,你多可以多收这么多钱。当然了,你最终这个价格零点三五,他也不一定是零点三五,那有可能是零点二呢?那如果是零点二的,你会发现这个零点二的价格很低,他比我们那个啊,日日前这个价格低啊,也比我们这个中长期价格也低 啊,所以说从实质市场是很考验啊,就是售店的一个决策问题,你搞得好可以在实质上可以挣很多钱,至少说你可以把你之前那些啊 差值给他补回来,那如果搞不好的话,可能在实质上可能还有一个亏欠。所以说在实在售店的时候啊,做日在售店的时候啊,做日日前市场,日前市场还有个实质上一个决策 啊,对于电网的一个实际的一个收益来说是非常非常重要的,这个也是非常高级啊,深度非常非常深的一个课题了啊,我们不讲这么多 啊,那截止到现在大家总结一下就可以看出来,我中长期市场是给你一个粗略估算的,那我在日前市场是给你个修正机会,我在日内市场再给你个修正机会,那修正完了之后, 我在实质上对你进行考验了,你这多了还是少了,反正你多了的话就多给你这部分钱,你要少了的话你要扣这部分的钱,因为他都会有一个对应的一个价格。那这个这种方式呢,就兼顾了发电企业和用电企业的电量供需的关系,同时呢又平衡了一个电网。 那这个就是为什么要搞的这么复杂,又有中长期,又有现货,现货又分了日前日内和实质上这 几个主要的一个逻辑关系了。我想通到这里,大家应该就能够理解这几个市场他到底为什么要那样做,以及他一个大概的一个目的是什么了。 然后呢你们可以再结合我们发布的文章,那篇文章再仔细的去研读一下,相信应该会有个很有的收获了。那这在这一节呢,我们讲出现了几种价格,一个啊一个是什么中长期协议价格, 中长期协议电量,还有呢是日前价格,日前电量还有实时价格,实时电量。在下一节的时候呢,我们就分析 出现了三个电量和三个电价,那我最终做一个发电企业来说,我能收多少钱,或者说我作为一个用电企业来说我要付多少钱的问题,我们在下一节会重点去探讨这个事,那这一节呢就给大家分享到这里。

挑战用爬虫爬一百个网站第十四期某某直聘官网 j s 逆向分析, 那么我们今天来看到这样的一个页面,那么像这一些数据的话,我们怎么样才能把它采集下来呢?好,首先第一个步骤的话,我们可以去使用这个 f 十二快捷键去打开开发者工具面板,那么在当前的这个网络的界面当中啊,什么数据都没有,所以说我们需要去刷新一下界面, ok 么?可以去看到这里加载出来了非常多的数据资源,那么我怎么样才能确定好是我想要的这个数据包呢?好, 那么我们可以去通过第一个叫做这个关键词搜索方式,那么我们搜索一下这个爬虫工程师的这个关键字。 ok, 那 么可以去看他,首先第一个的话叫做这个地套,他有可能是我想要去找的这个数据包,那么我们点击进来来看一下他相应的数据信息, 这里是不是我想要的呢?哎,看一下这里面的话是包括他的这个工作的名称,还有他的工作的一些这个地址,以及包括呢向他的这个工作的年限,还有向他的这个工作的一个职责,以及呢他工作的这个薪资。好, 那这刚好就是我们想去采集的这样的数据信息。 ok, 这个数据包的话我们已经确定好了,那么下一个步骤的话应该怎么去做呢?好,我们直接右键复制,复制为代码的格式,然后呢把这样的一个代码去扔到我们这个爬虫工具库当中,好在这里面去做一个粘贴操作, 那么在这个右边的话,可以去看到他生成了我们这个基础爬虫的代码,那么我们复制一下来到我们这个本地的 p y 文件当中,我们看一下像这个基础爬虫的代码他到底能不能成功的执行,拿到我想要的数据信息来,我们右键运行一下 这个的话,可以去看到他已经成功的去把我想要的这个数据采集下来了。但是呢这里的话大家先别急,因为你这里只是做一页数据的这个采集,但是如果说你想去进行这个批量数据采 的话,我们需要去分析一下像他的这个 headless 里面的这个数据,以及像他的 gucci 里面的数据,还有像他的这个 power 查询参数里面的这个数据到底有没有需要我们去逆向分析的这个参数信息。好, 我们可以去看到观察一圈下来的话,其实呢我们可以去看到有一个叫做 zp 搜索的这个数据很明显是经过了这个加密处理的,那么我们先看一下它是不是跟我们这个响应数据的这个事件是相关的,我们先把它注视一下,看一下注视它之后呢还能不能成功拿到我们想要的这个数据信息,右键运行下 发现呢已经访问行为异常,就拿不到我们想要的数据了,那么很明显这一个参数需要我们去逆向分析的。来,我们先看一下在我们这个浏览器当中先去排查一下他是不是其他的这个数据去返回过来的。好,那么在这里面的话,我们可以去搜索一下这个关键字, 来看一下有没有是做这样的一个响应处理的呢?它是不是作为这个响应数据传过来的呢?哎,看了一圈之后好像没有,那么没有的话,我们可以去通过啊这一个关键字搜索定位的方式,去找一下它在哪个这一次文件里面生成的这个加密逻辑。好,那么我们看一下啊,这里的话可以去观察这个 set 方法, 这个 set 的 话很明显是设置值的意思,那么我们到底来看一下这里是不是设置的我们这个 zippo 的 这个值。好,给它打上一个断点,看一下能不能断住, 来,我们直接切换一下页面,哎,结果直接断住了,那么既然能断住的话,我们观察一下这个 r 值,哎,就是我们想要去拿到的这个加密数据,那么看一下这个 r 的 它的深层的位置是在哪个地方,哎,结果发现呢,是在这里 给他打上一个断点,那么我们再去切换一下,让他断在这个位置,再去观察一下他所对应的这个值是不是我想要的这个加密数据呢?嘿,很明显就是我想要的这个加密数据。 ok, 那 么这样分析下来之后呢,我们就可以一个一个的单独去分析一下了,比如说呢,我们可以去观察一下他使用的这个加密方法的这个 z 方法,它到底是 怎么去进行加密的啊?点击切换过来,就你会发现它是在这个地方去做的一个加密处理的,对不对?那这个的话其实很难分析啊,所以说呢,我们一般来说的话,遇到这种情况就是它是独立的 g 四文件的,这种情况的话,我们一般直接是选择把它的代码全扣,然后该补环境的就补环境。 好,那么你再看一下这个 t 的 值,这个 t 的 值是怎么去生成的呢?哎,发现它是传过来的,好,再看一下这个 n 的 值,它也是传过来的,在 观察一下这后面的这个值有没有需要去进行处理的。好,没了,就这几个值吧,一个是这个 z 方法,还有一个呢是这个 t 的 值,另外一个呢就是这个 n 的 值,那么我们先往上溯源一下,看一下这个 t 的 值,还有这个 n 的 值它是怎么去生成的?这个 c, k、 c 和 a 的 话,就对于我们的这个 t 和 n 的 值吧,来看一下 还有这个 a, 好, 没问题,那么我们看一下这个 c 的 值,它是在哪个地方生成的,结果发现呢,它又是传过来的,是不是?哎,不是传过来的,它是在这个地方, 它是在这一个地方使用了一下,然后是 get 一个什么,呃?消,还是 c, p, s, s, e, d, 那 么我们就去搜索一下这个值它是怎么响应过来的啊?来到我们这个网络的面板当中,我们可以去搜索一下,看一下它是怎么响应过来的。 哎,结果发现呢,嗯,在我们的这一个 detail jason 的 这个数据里面居然是有的,哎,它是在这里 c 库 key 的 一个值里面是有,对吧?好,那 我们看一下啊,就是刚才我们去运行这一个基础爬虫的代码的时候,他拒绝访问的时候呢,其实你很明显的可以去观察到,在这个地方的话,这个 c 的 值不就是你刚才要找的这个 t 值吗?好,那这一个 t, s 的 这个值很明显,它是不是就是你要找的这个 n 就是 一个 t 值?好, 那么我们现在就切换到我们这个浏览器当中啊,就是你直接去对着他发送一次请求,然后去拿到他响应的这个数据信息。之后呢?然后你再去作为他的这个什么,作为他的这个函数的参数给他传进去,就传到呃,这两个位置就可以了。好, 然后我们可以去创建一个这样的一个函数信息,来看一下我们最终实现的这个代码呀,来切换到我们这个 demo 点这一次的这个文件当中可以去看一下,我们这里的话是使用的这个 get 和 tokyo 的 这样的一个呃方法。那然后我们可以去在这里去测试去掉一下。来,我们直接把这个 t 的 值的话,我们先给他拿过来来复制一下。 ok, 好, 然后再把我们这个 n 的 值的话也给他拿过来,这个 n 的 话是在这个位置是一个符号转的形式。好,然后给他粘贴过来,那么我们现在的话可以去 log 打印输出一下这个值。好,把它就是作为参数传进来。 ok, 然后我们右键运行下这个代码,看一下能不能执行成功。哎,没问题。

今天我们要聊的呢是二零二六年即将实施的新版的电力中长期市场基本规则。 对,那这个规则呢,其实是在推动电力市场化改革,推动市场主体多样化、交易机制的精细化和风险防控的制度化。 那对于各类市场参与者,无论是传统的还是新型的,都带来了全新的机遇和挑战。没错,这个变化确实非常值得大家去关注,那我们就直接进入今天的讨论吧。我们先来说一下这次新规修改背后的政策背景, 也就是为什么在这个时间点对电力中长期市场的规则进行这么大的调整。其实它背后的原因是非常深刻的,因为这一轮的规则的修正,它不是说凭空产生的一个新的东西,它是跟我们电力市场发展的大的趋势是密不可分的。 这么说的话,是不是意味着二零二零年的那个版本的规则已经不能满足现在市场的需求了?是的,二零二零年的规则当时的核心目的是为了搭建中长期交易的一个基本的制度框架。嗯,规范各类市场主体的行为,丰富交易的品种, 保障系统的安全,以及促进清洁能源的消纳。他是在一六年的那个暂行规则基础上做的一个升级, 那时候确实为市场的起步做了很多的铺垫,但是这几年时间市场发生了天翻地覆的变化,所以旧的规则已经远远不能适应现在的情况了。能具体说说这几年电力市场有哪些新的变化是旧规则没有办法应对的吗?当然可以, 比如说到二零二五年底风光可再生能源的装机预计要突破十七亿千瓦, 占比超过百分之四十。那这么大的新能源的比例进来之后,它的间歇性,它的波动性,给我们的电力系统带来了全新的挑战。嗯,那再加上现在有二十一个省份已经在开展现货市场的长周期结算试运行了, 到二零二五年底要实现现货市场全覆盖。同时呢,还有一些新的政策,比如说新能源要全量进入市场,电网要代理购电, 包括燃煤发电要实行容量电价等等,这些都让原有的规则捉襟见肘。所以就是说这些新的情况就直接推动了二零二六年版的这个规则的出台。这次的修改主要是有四个驱动力。 第一个呢是新型电力系统建设的需求,新能源要全量进入市场,各种新型的主体也要参与进来。嗯,第二个呢,是要建设全国统一的电力市场体系,就是要打破省间的壁垒,让规则统一起来。 第三个呢,是现货市场要全面的推广,所以中长期和现货市场的协同机制必须要建立起来。嗯,最后一个是新能源大规模的并网,对市场的灵活性提出了更高的要求,所以这次新规不是一个小修小补,而是在保持政策连续性的基础上做的一次系统性的重构。 他其实体现了我们整个电力市场从区域分割走向全国统一,从单一的产品走向多样化的产品,从政府主导向市场主导这样的一个引进的过程。原来是这样,那我们下面就重点关注一下新规到底改了哪些核心内容?首先咱们要聊的第一个就是市场主体, 这次新规里面对于新型经营主体是怎么界定的?到底有哪些类型被纳进来了?这个是这次新规里面非常亮眼的一个地方,就是第一次在国家层面明确了新型经营主体的概念和它的范围。 那其实就是在原来的发电企业、售电公司、电力用户和电网企业的基础上,新增了两大类型的新型经营主体。听起来好像给很多新的玩家打开了大门, 那这具体都包括什么呢?具体来说呢,一类就是单一技术类的,比如说分布式光伏、分散式风电、储能这些分布式电源和可调节负荷。嗯,然后另一类呢,就是资源聚合类的,包括虚拟电厂、智能微电网,还有就是配电环节的源网和储一体化项目。 明白了,那比如说像储能和虚拟电厂这一次在参与市场的方式上面有什么突破性的变化吗?储能这次特别有意思,就是他是一个双向身份,他在放电的时候可以作为一个发电企业去卖电, 在充电的时候他又可以作为一个电力用户去买电。嗯,这样的话他不光是吃这个分股价差,他还可以提供辅助服务,获得双重的收益,所以一下子就把储能的市场价值激发出来了, 相当于说虚拟电厂也是可以用一个新的玩法来参与市场啊。对的,虚拟电厂呢,它是可以把这些分布式的新能源聚合起来去参与市场交易, 比如说绿电交易,它只要跟这些分布式的新能源提前签好这个聚合服务的协议,然后在申报电量的时候,把它们一一的关联到对应的项目, 就可以实现这种抱团入市。嗯,就解决了之前这些小的资源没有办法单独进场的难题。好的,那就是说这次的新规在市场准入和支持新型经营主体这方面具体做了哪些明确的规定呢?现在就是说这些新型经营主体 它是可以按照规则去参与电力交易的,可以正常的去签合同,然后可以享受到注册、结算、信息批录等这些服务。嗯,包括使用电网获得输配电的服务都是一视同仁的。 就整个的制度上是给了这些主体一个明确的保障,这些对于促进新能源的消纳和整个市场的活力应该都是非常有帮助的。没错,这就是从制度设计上 鼓励了更多的分布式能源、储能虚拟电厂,这些资源参与到市场里来,让市场变得更加有活力,同时也会加快整个新型电力系统的建设,对也为未来更多的创新主体进入市场 打下了一个非常好的基础。哎,我想知道这次在交易品种上面有哪些新的周期被引入到了市场当中,这些不同的周期各自的作用是什么? 这次新规最大的亮点就是它的交易周期实现了一个多层次的覆盖,就是它不光有原来我们熟悉的年度月度,它还增加了数年和月内, 这样就把时间跨度拉的更长了,同时也切的更细了。这么细分的话,是不是就能够让市场主体可以根据自己的需求去选择更合适的交易周期了。是的,比如说数年的这种交易, 他一般是一年以上的电量的交易,他特别适合那种想要稳定收益的店员投资。嗯,或者说想要去提前锁定绿电消纳的这样的一些企业。 那年度交易呢,就是第二年的全年的电量,他依然是市场的主力,月度呢,就是可以覆盖到次月或者是年内剩下的月份, 那月内呢,就是针对这个月剩下的天数,还细分出了旬周、多日这样的一些交易,所以就是整体上大大提升了市场的灵活性。那这次新规里面对于月内和现货市场的交易方式和频次 有什么新的规定吗?新规里面特别提到了月内的交易原则上是要按日连续开市的,就他不再是像以前那种定期的集中交易了。嗯,这样的话就能够更好的去应对新能源出力的这种波动, 让大家可以更及时的去调整自己的交易策略,同时也压缩了这种不同周期之间的套利空间。 这样看来市场的这个价格发现的功能应该会更精准了。而且他还要求就是现货市场运行的地区中长期的交易时段数不能少于二十四个。嗯,年度交易必须要实现分时段, 那这些其实都是为了让中长期和现货市场能够更好的衔接,然后价格能够更灵敏的反应工序的变化。懂了, 那这次新规在电价的形成机制上面到底有哪些根本性的变更呢?这次最大的转变就是电价的形成机制已经从政府主导变成了市场主导, 嗯,就是除了那些还需要执行政府定价的电量之外,其他的所有的中长期的交易价格都是由市场主体自己通过市场去形成的, 第三方是不可以再进行干预的。这么说的话,现在直接参与市场交易的电厂和用户就不再受政府分时电价的限制了。是的,那这部分主体呢?就可以自己去协商电价,或者是通过市场竞价来确定价格,那这个价格就是会更真实的去反映当时电力的供需情况。了解了, 那这个新的电价机制对于合同的价格形式有没有做什么特别的规定?合同的电价它现在是可以有很多种形式的,它可以是一个固定的价格, 也可以是一个随市场的供需或者说发电成本变动的一个灵活的机制。嗯,比如说没电的企业,它现在可以把合同电价跟月度的没电价格指数或者说现货市场的均价去联动, 那这样的话就可以帮助他去平滑因为煤炭价格波动带来的利润的波动。所以就是说市场化的电价,他其实也有一些防止价格被恶意操控的这样的一些措施吧。对的,政府是会设置一个价格的上下限来防止这种极端的价格波动, 然后这个价格上下线的建议是由电力市场管理委员会和市场主体共同来提的。嗯,而且它是会逐步的让月内等短周期交易的现价和现货市场的现价去靠拢, 就是让两个市场的价格信号能够更好的衔接,同时又能够守住市场的底线。好的,那这次新规在绿电交易方面都有哪些强化和创新呢?这次新规里面把绿色电力交易原来的那个专章进行了拆分, 然后有机的融入到了整体的规则当中,这样就使得绿电的交易制度更加的系统和完善。嗯,而且它特别强调了 绿电交易的标的不光是电力本身,还包括了它所附带的环境价值。所以说现在绿电交易 它的这个环境价值是怎么来核算和保障的呢?是这样的,绿电的价格它是分为两部分的,一部分就是电能量的价格,另一部分就是绿电的环境价值,而且这个环境价值是不会参与到风鼓分时电价和力调电费的结算当中的。 嗯,所以这就给新能源的企业带来了比较稳定的收益预期。在结算的时候呢,环境价值这部分是按照当月合同电量、发电测上网电量、 用电测电量这三者当中最小的那个来进行结算的,这样既保证了绿电消费的真实性,同时也给风险配置留了一定的空间。还有一个问题,这次新规里面对于跨省跨区的交易机制具体做了哪些调整? 新规里面首次把跨电网经营区的常态化交易和区内省间的灵活户籍交易都正式的写进了规则。嗯,然后交易的组织也更加的清晰了,就是跨电网经营区的交易是由北京和广州的电力交易中心来联合组织的。 跨省跨区的交易呢,也是由这两个交易中心按照电网的经营区来进行负责。 省内的交易就是由各省自己的交易机构来进行负责,这样就形成了一个省内跨省、跨区、跨电网经营区的三层市场架构。那就是说交易的出清和执行的流程现在也变得更有操作性了。没错, 北京和广州的交易中心是可以和各省的交易机构一起来根据电网的实际的约束来进行联合出清的,然后也会明确每一笔交易的优先级。 嗯,对于优先发电计划的跨省跨区送电送受,双方必须要签全年的合同,并且要分解到月量化到区县,这样就把原来的行政指令变成了现在的市场机制。 好的,那这次新规里面对于风险防控有哪些比较明显的变化?特别是在签约比例和偏差考核这方面,新规里面其实是构建了一套非常严密的风险防控体系。 首先就是对于签约的比例,他是有非常明确的硬性要求的。比如说没电企业,他的年度的签约电量不能低于上一年实际上网电量的百分之七十, 月度及以上的签约电量不能低于上一年同月市场化电量的百分之八十。嗯,那对于售电公司、电力用户和电网代理购电的,他的年度签约电量不能低于上一年实际用电量的百分之六十五, 月度及以上的签约电量不能低于上一年同月的百分之八十五。要是没有完成这个签约的目标,会有什么惩罚措施吗?如果没有完成的话,就要按照缺额的电量乘以年度的均价再乘以百分之五来缴纳考核金, 这个考核金它是双向返还的,就是用户测,如果没有完成,那考核金是给没电企业的。嗯,如果没电企业没有完成,那考核金是给用户测的,这样就相当于谁没有完成签约,谁就要付出代价,同时也鼓励大家去守约。明白了, 那在偏差考核方面,现在的规则是不是也变得更加细致了?是的,偏差考核也是区分了不同的主体,比如说新能源的发电企业,他的偏差宽容度是正负百分之二十, 其他的发电主体是正负百分之十。嗯,然后用电测的话是分为三档,百分之五以内,百分之五到百分之十,还有超过百分之十, 每一档对应的结算的价格都是不一样的,少发或者说超用的部分价格是要比合同价低的,多发或者说少用的部分价格是要比合同价高的, 这样的话就是让大家都要去尽量的精准的预测和履约。好的,那咱们下面要讲的就是这些新规的变化会给各类市场主体带来什么样的影响,以及他们应该怎么去应对。 嗯,那首先咱们来说说发电企业,就是煤电和新能源他们分别会面临什么样的新的压力和机会。 煤电企业现在就是一方面要承受市场化的电价带来的波动,但是另一方面他也可以通过一些灵活的电价机制去对冲一部分每餐价格波动的风险。 那更重要的是新能源的全面入市,让煤电的利用小时数还会继续的下滑。嗯,所以煤电以后更多的是要去做这种容量保障和系统调节的工作。 那煤电企业要去做的就是精细化的发电计划。嗯,然后加快灵活性改造,积极的去参与中长期和现货市场,同时也要跟售电公司和大用户去形成更紧密的合作。 新能源企业是不是这次就成了最大的受益者了?可以这么说吧,就是绿电交易的完善,让新能源企业可以把环境价值变现,然后通过跟这种有 esg 目标的企业签这种长期的购电协议,他的现金流和融资能力都可以得到改善。 嗯,但是新能源出力的波动性带来的偏差风险依然存在,虽然有百分之二十的偏差宽容度,但是极端天气下还是要去关注这个风险的。 那新能源企业现在能做的就是积极的去参与数年期的绿电交易,然后不断的去提升自己的出力预测的精度,同时用一些合同的组合和金融工具去对冲自己的风险。懂了, 那电网企业在这个新规之下,他的决策和责任会有哪些具体的变化?电网企业现在除了要继续保障电网的安全稳定运行之外,还要负责暂未直接参与市场的用户的带利购电, 那这个代理购电的价格是要跟现货市场联动的,所以这就降低了电网企业自身的价格风险。嗯,另外呢,因为新能源和各种新型主体的大量的接入 调度和安全叫和的压力也大大增加了,现在对安全叫和的时间要求也更严格了。嗯,比如数年和年度的交易是五个工作日,月度的是两个工作日,月内的是一个工作日。 结算这块也更复杂了,要做到日清分月结零,对一些聚合类的主体还要做到结算到户,所以整个的计量和结算体系都要升级。 所以说电网企业其实也面临着不小的转型的压力啊。对,电网企业一方面要完善这个代理购电的价格形成机制,让它能够跟现货市场高效的联动。嗯,另一方面也要加快电网的智能化的升级,然后提升自己的调度和结算的能力, 同时也要跟交易机构更紧密的配合,积极的去参与到技术支持系统的建设当中,这样才能够更好的去适应这个新的市场环境。好的,那这次新规对于受电公司来讲影响是非常直接的。嗯,那受电公司在经营模式和收益模式上会有哪些比较大的变化? 现在就是售电公司不能再像以前一样既做批发又做零售了,必须要选一个赛道。嗯,而且给用户的固定价格的套餐不能超过总电量的一半。 那这就意味着靠吃价差套利的时代已经结束了。那售电公司必须要转向给用户提供一些定制化的绿色能源解决方案,包括绿电交易、节能改造、需求响应等等这些综合的服务。 感觉好像售电公司的风险和压力都比以前大了很多啊。没错,现在售电公司的收益模式也变了,很多地方都开始实行批零价差分享,比如说安徽,就是超过八厘每千瓦时的部分二八分成。 嗯,然后再加上签约比例、饱含额度,都跟你的信用评级挂钩,所以风险防控的要求是更高了。 那售电公司现在要做的就是强化自己的复合预测和偏差管理,然后积极的去拓展这种综合能效服务,同时也要跟发电企业、储能虚拟电厂等等这些主体去合作,建立起一个完善的风险管理体系。嗯,最后就是要提升自己的数字化运营水平。行, 那这次新规对于电力用户来讲影响是非常直接的。嗯,那电力用户在市场准入和用电策略上面会有哪些比较大的变化?这次的新规里面明确规定了, 十千伏以上的公商业用户是必须要直接进入市场的,没有入市的就会由电网公司代理购电,然后已经入市的用户没有特殊理由是不可以再退出的。嗯,另外呢,用户可以自己选择是参与批发市场还是零售市场,但是不能同时参加。 这么说的话,用户是不是必须要去面对市场带来的电价的波动啊?因为没有了政府定价的保护,那用户的电价完全是由市场来决定,风股价差也是时时变动的,那用户要想省钱的话,就必须要去优化自己的用电方式。 嗯,还有就是新的没电的容量,电价的费用是要摊到公商业的电费里面的,所以每度电的成本是会上升的。 那特别是在中午光伏大发的时候,电价可能会变得非常低,但是傍晚的时候,用电高峰又会出现一个电价的尖峰, 所以用户必须要学会去预测电价,然后主动的去调整自己的用电的时间。那对于这些新型经营主体,比如储能虚拟电厂、智能微电网,这次新规给他们带来了哪些新的机会? 他们又应该怎么去适应这个新的市场环境?储能现在有了双向身份,他既可以卖店又可以买店,所以他的盈利的空间是大大增加了。嗯,那独立的储能企业现在可以像一个常规的发电企业一样去参与月度月内和现货市场的交易。 虚拟电厂呢,他可以把这些分散的资源聚合起来去参与市场,这样他的溢价能力和交易效率都是大大提升的。同时他还可以通过需求响应和辅助服务来获得一些额外的收入。 智能微电网呢,被正式纳入了资源聚合类的主体,所以它不光可以跟大电网去进行电力的交换,还可以在内部实现电力的自我平衡。听起来机会确实很多, 但是他们要想真正的在市场上站稳脚跟,应该怎么做呢?首先就是要抓紧时间完成市场的注册和资质的认定,然后建立起规范的运营的流程。 同时呢要提升自己的负荷预测、交易策略和风险控制的能力。嗯,还要积极的去跟其他的市场主体合作,比如说可以通过联盟或者聚合的方式来提升自己的市场竞争力。 最后就是一定要合规经营,严格的去遵守市场的规则,这样才能够长期的发展。行,那我们再来说一下新规在实施的过程当中会有哪些过度的安排?市场主体可能会遇到哪些风险? 新规是在二零二六年的三月一号正式实行,那各地都要在同一时间之前把本地的实施细责制定好并且报备,所以这个时间是非常紧张的。嗯,那对于市场主体来讲的话,在这个过渡期间可能会遇到 对新的规则理解不到位,系统改造不及时,合同的衔接出现问题,还有市场价格大幅波动等等这些风险,所以大家要提前做好一些预案。 看来过渡期间确实有不少挑战,那市场主体和监管部门可以采取哪些措施来应对这些挑战呢? 建议各地要建立一个专门的过渡期的指导机制,就是对市场主体进行一些细致的解读和培训, 然后分阶段的去推进,先易后难。嗯,同时呢还要有一些应急的响应的机制,就是万一市场出现了一些异常的波动,可以及时的应对。最后就是要加强对新规的宣传和培训,让大家能够尽快的去掌握这些新的规则,并且能够熟练的运用。 好的,那我们国家的电力市场未来几年会往哪些方向去发展呢?第一个趋势就是市场一体化会提速, 全国统一的市场规则、统一的平台、统一的价格信号、统一的跨区交易机制会逐步的形成。嗯,那到二零二五年要初步建成全国统一的电力市场,到二零三零年要基本适应新型电力系统的需求。 第二个就是产品会越来越多样化,会出现全期限、差异化、金融化、个性化的电力产品来满足不同的市场主体的需求。 这么说的话,是不是技术创新和绿色碳会成为市场发展的关键驱动力?没错,人工智能、大数据、区块链、互联网这些新技术会深度的应用到市场的预测、交易、风控、监控等各个环节, 然后绿电交易的规模会不断的扩大,环境价值会进一步的市场化。嗯,储能和需求响应会快速的普及, 整个市场的监管也会更加的智能化和透明化,最终助力碳达峰、碳中和目标的实现。行,那今天我们把新版的电力中长期交易规则的核心的变化给大家都梳理了一遍。嗯, 从市场主体的扩充,到交易机制的革新,再到风险防控的强化,以及绿色发展的这个升级, 每一个变化其实都在重新定义着电力市场的格局。那我们这期播课就到这里了,感谢大家的收听,咱们下期再见吧,拜拜。拜拜!

大家好啊,今天我们给大家讲的是电力市场当中的套利的基本逻辑。那么在讲这个之前呢,我们需要先讲两个前置条件。第一个呢就是套利,他属于是一个金融的概念,就是低买高卖,肯定是你的卖出价要大于你的进货价,这样呢你才能够有利润。 那么套利呢,他有两个方向可以操作,首先呢就是正向的一个操作,就是先低价买入,然后呢再高价卖出,这个呢就叫做做多。反向的一个操作呢,就是先 高价卖出,然后呢再低价买回来平仓,这个呢就叫做做空好,这个就是基本的套利的逻辑。第二个前提条件,就是我们国家对于电力市场的套利的态度, 无论你是卖电房还是售电测,都允许你在一定限制的范围之内进行套利,但是不支持不鼓励针对这个套利呢,国家设置了一些偏差回收机制,比如说啊设置一个系数, lemon, 在这个 lamda 这个系数的范围之内的套利是被允许的,如果电量超出了 lamda 的 这个范围,那么就会按照一定的系数,比如说是一点一倍,一点二倍,把你的这些超额的收益进行回收。另外呢,对于售电公司来说,今年出台了很多售电的这个价差限制的政策, 根据理解呢,这里面也包含了中长期套利的加差。所以说我们国家对于套利的行为是有一个非常严格的空间限制的,你可以在这个空间限制之内呢进行一些小的获利,但是不可以演变成商品的期限或的投机行为。以上呢,我们讲的是两个前置条件,那么接下来呢,我们就来讲 电力市场的套利逻辑,售电公司呢,它其实是一手买一手卖,它是一个中间人的身份,这个角色比较充分,所以呢我们就站在售电的角度啊,来叙说这个套利的逻辑。我们之前呢讲过 中长期,讲过现货以及中长期和现货他们之间的联系。一笔交易呢,首先你要去签中长期的一个合约,然后呢你的电量要进入到现货市场啊,去进行执行,这个现货市场呢就包含了 日前,包含了实时,我们呢先忽略到这个日内的市场。好在这里面呢会产生不同的价差或者是量差,就导致了你算出来这个结算的电价会有波动,套利的行为就发生在这个里面。好,我们举一个例子, 比如说你是一个售电公司,你在批发市场,你在面对这个发电企业去买电的时候,实际上是爆量不报价的,对于售电公司来说,你能把控的就是你的电量。咱们假设说某一天分解的中长期的曲线是长这样的,这个呢是 时间,这个是电量,那么假设呢,某一天现货的申报爆量的曲线是长这样的,这是日前,那么你会发现呢,有一段 这个日前是小于中长期的,假设说我们取这个点,中长期呢是一百,日前是九十,我们比如说中长期签的是五毛,那么日前呢现在的价格,比如是六毛, 日前申报的电量比中长期少,那么这个时候你是盈利的还是亏损的呢?中长期是五毛,我签了一百度电,对吧?好的,日前呢是六毛, 但是呢我申报执行了九十,这个中长期对比日前来说,是不是你提前签订了一个合约,那说好了一百度电现在只有九十度电,意味着什么呢?我现在是售电公司,那么是不是意味着有十度电我卖回去了, 所以我是九十度电,那么是以什么价格卖出去的呢?是以日前市场的现价在当前的市场卖出去的, 五毛钱的成本我以六毛钱卖回去了,那是不是盈利了一毛钱?这个就是刚才我们说的低买高卖,这个呢就是做多,那么反过来呢,假如说这个六毛变成了四毛, 这是不是就意味着这十度电我是五毛钱买的,然后呢四毛钱我又卖回去了,那我就亏损了一毛。这个呢就是套利的一个基本逻辑,这个逻辑呢,你放到日前和实时市场也是一样的,比如呢,实时市场现在是八十度电, 日前市场呢还是之前的六毛钱?时市市场现在是八毛钱,我从日前市场花六毛钱把店买来了,然后呢,在时市市场八毛钱我又卖出去了,我是不是赚了两毛?这个呢就是最基本的售电测结合现货市场耗利的一个基本的逻辑, 当然了,这个是建立在报量不报价的基础上,未来呢,我们的电力市场肯定会允许更多的省份,那么一旦加上了价格呢,这个问题将会变得更加的复杂, 我们明年呢会安排电力现货市场的进阶时讯,那么欢迎大家到时候来参加,来提升好基础的知识。讲完了呢,那么我们来说最后的一个问题啊,就是为什么允许你在中长期签订完合约之后, 又来到现货市场去进行套利?因为呢,我们中长期签订的不是一个物理的合同啊,即使我们签的是物理合同,他执行起来也会非常的困难。比如说啊,我 中长期签了一百度,但是呢,我不能够保证未来的这一年,我都可以按照去年年底分解的曲线,或者说呢是今年年初分解的曲线去完全的执行。我呢必须要到提前一天,提前十五分钟,或者说提前多久去进行一下确定,甚至如果我最终确定不了了,我还要到辅助服务市场去把这个电量给平。 所以大家会发现在今年年底出台的这些政策,尤其是比如说二六年的中长期工作的政策,甚至是上周刚更新的这个最新的中长期电力市场运行规则都会提到呢,未来中长期市场要向什么去发展? 中长期市场要向着现货市场去靠近,以此来达到什么目的呢?真正利用市场的价格信号来实现市场平衡,以及实现市场的电力资源的优化配置。以上呢,就是今天给大家讲的电力市场的套利的基本逻辑。

大家好啊,今天给大家讲的是电力中长期交易,之前呢我们已经讲过了电力现货和辅助服务,那么我们再讲完这个电力中长期交易呢,基本上电力市场的一个全景就已经给大家 简单的介绍完了。那么什么是电力中长期交易呢?其实就是交易双方按照一个比较长的周期,比如说数年,年数月,月,或者呢是按照数日这么一个维度去进行电力交易。电力中长期交易和电力现货交易,它的一个最直观的区别就是 中长期它体现的是中长,那么电力现货交易它体现的是实时。那我们先来看我们签订一个电力中长期合同,它的主体都包括什么呢?首先就是合约的时间, 比如说呢是二零二六年的啊,一月一日到二零二六年的十二月三十一日,那么还有呢就是合约的电量还有电价,那这个呢都是基本的,最重要的就是第四项曲线分解, 那么虽然我签订的是一个一年的合同,但是呢它不会简单的体现我这一整年用了多少电,而是会分解到每月,每天,每小时去做一个详细的曲线分解。电力中长期的交易方式咱们之前已经讲过了, 主要呢是分为场外交易和场内交易,场外交易呢主要就是指的是双边协商,那场内交易呢,就是集中交易,连续交易,滚动撮合,还有挂牌,这个呢我就不详细的去写了,大家可以去复习一下咱们之前讲过的课。电力中长期的一个交易品种啊,咱们可以多说两句,一个呢叫做直接交易品种, 还有一个叫做合同交易品种,那么直接交易品种呢,就是我们直接去签订一个合同,去约定好这些内容。合同交易品种是什么呢?就是我们去交易,我们签订好的这个合同,大家可以理解为呢就是二级市场转让市场。 接下来我们展开说一下合同,合同都包含什么呢?其实中长期交易的这个合同呢,也非常简单,分为两种,一种呢叫做实物合同,一种叫做金融合同。 实物合同啊,就是所谓的物理合同,就是我们约定好这个东西之后呢,我要按照这个执行,就叫实物交割合同,按照这个曲线分解进行实物交割。那么金融合同呢,就恰好和实物合同相反,就是我们约定好了,它只是一个约定,我们不一定严格的按照它去执行,进行的叫做财务结 算,也就是说呢,最后拿这个东西算账,但是实际上严格按照它去执行吗?也就是说这个曲线分解不一定。 金融合同展开,其实就会出现一个我们比较熟悉的一个词,叫做差价,差价合约,那之前呢,我们也讲过了,这个差价合约怎么算,对吧?指的是发电测,然后像美国这种发展的比较早的这种电信市场呢,可能还会有 期货合约,齐全合约,这个呢咱们就一笔带过,就不详细的去讲了,我们国家目前的态度呢,是规避齐全化的,所以说呢,这个东西在我们国家短期之内可能不太现实。那么交易还有什么分类呢? 省内和跨省,也就是说你可以选择买其他省的,也可以选择买你自己省内的,这种中长期的交易基本概念讲完了,咱们开始直接去讲这个最关键的。首先店它作为一种商品,在经济学的角度上讲,它是不具备价格弹性的。 什么意思呢?就是说我用你的一度电和我用他的一度电,我是感受不到差距的,那也就是说电与电属于是完全替代电,你的一度电是可以完全替代他的一度电的,那么电的价格在理论上是不应该有波动的,因为所有的电都一模一样,是没有差别的好,那么为什么电价会有波动呢? 因为电它的物理性质就导致了我们在考虑电的时候,就一定要考虑一个东西,就是时间,用电的时间,发电的时间,结合了时间,那么你早上、中午、晚上用电,或者是中午或者晚上去发电,有了时间维度就会导致供需的错配, 比如说中午的时候光伏大发,但是大家都休息了,用电比较少,那是不是功大于求呢?这个时候电价就低了,那么反过来电价就高了,这里呢就出现了两个问题。 第一个问题就是既然电价会出现波动,而且根据时间可能会出现非常大的频率的大幅度的波动,那么就说明电价会出现非常强的不确定性。那么这里呢就体现了中长期交易的一个非常核心的作用,也就是我们一直强调的压仓时的作用。 我们签订了一个中长期的价差合约,来锁定了未来一段时间的高比例的店价,那么就相当于让电力市场买卖双方的利益有了一个基础的保障。第二点,电力市场的电力交易为什么叫电力交易而不叫电量交易呢?就是因为有时间的这个问题, 那么就引出了一个比较关键的问题,就是为什么电力中长期交易要衔接现货?就是因为有时间有波动,那么我约定了二零二六年某月某天的几点到几点,用电量到了那一天就一定会实现吗?不一定。所以呢,我们要 衔接现货,意思呢,就是我们约定的电量到了临近用电的时候,要根据实际之间的这个偏差好。最后一个问题啊,就是绿电的问题,我们都知道 绿电这个东西,它是算在中长期交易里的,换句话说呢,这个绿电它只能去通过中长期市场去交易,为什么呢?很简单啊,什么叫做绿电呢?光伏风电发的电叫绿电,但是呢,不是所有光伏发的电都叫绿电, 有绿正的电还能叫做绿电。比如说啊,光伏发了两千度电,一千度有绿正,而一千度没有绿正,那么就只有有绿正的那一千度才能叫做绿电。 绿证呢,就意味着我要去溯源,我要去知道我是从谁手里买到的这个店,那我才能保证他就是绿店。中长期的交易是可以溯源的,那么现货交易可不可以呢?理论上讲是可以做到的,但是现在几乎上是做不到, 因为现货交易呢,它的频率很高,交易很快,参与方很多,这三个条件加在一起,就导致我们没有办法把我们用到的每一笔都去准确的溯源。由于你必须去证明它是绿电,所以呢就只能包含在中长期交易。好,今天我们就讲到这里。

啊,我们就是对于他这里面的一个招,啊,呸,不是招聘啊,这里面的一个房源的一些信息内容进行一个获取啊,就是他的标题啊,小区啊,然后这些基本信息价格之类的东西啊,那我们这个爬虫怎么去做呢?按照基本的流程给大家去讲啊, 爬虫实现的一个基本流程,这个流程的话分为两步啊,第一个的话是数据来源分析,第二个 代码的实现步骤啊,分为这两步,数据来源分析的话它里面有有两个点啊,有两个,一个是明确需求, 还有一个的话是招播分析。明确需求是什么意思呢?它就是明确采集的网站以及数据内容 以及数据内容。那么网址数据的是不是得确定一下啊?网址的话,嗯,就这个,这里的话我是做的长沙的啊你你也可以换城市啊,这没关系啊,你也可以换城市,数据的话就是房源信息。 ok, 那 第二步抓包,抓包的话就是分析一下我们想要的这些数据在哪里啊?那这个就通过浏览器的开发者工具分析对应的数据位置, 这个抓包的话分为呃,基本的三步,第一步打开开发者工具就在浏览器啊,就在浏览器的页面中按一个 f 一 十二 就可以了,那就可以打开我们的开发工具,然后第二步的话就刷新网页,让本网页的数据内容重新加载一遍。然后第三步的话是什么呢? 第三步的话就是我们通过关键字搜索啊,通过关键字搜索查询对应的数据位置。哎,这里不用加错,为什么加了个错呢? 这里关键字搜索的话啊,就是需要什么数据就搜什么数据啊,需要啥你就搜啥,好不好?那具体这三个步骤怎么去操作呢?给大家演示一下。首先的话我们在这一个页面当中,你按一个 f 一 十二, 那打开我们这个开发的工具,你看到没有?先打开的话,你刚开始打开这里面是没内容的,如果说你想记录他网络活动的话,需要重新加载网页,重新加载的话就是你刷新一下吗?让我们这个网站重新加载啊,那我们直接点刷新 点一下啊,点了之后的话,你可以看到这边的话就会出现相关的一些数据内容出来啊,一共有六十多个请求了,是不是?那这些请求的话,我们要在这些请求当中去找到我们所需要的这些信息在什么位置, 对不对啊?你是不是得去分析一下, 好吧?啊?我们啊来分析一下啊,我们可以直接看一下啊。嗯,点击这一个搜索按钮,然后我们去搜一个什么呢?搜它的标题吧,比如说正正正正地铁口,一线江景 对,南北朝向回车。嗯,我这里是不是多了一个空格啊?这口子打错了,难怪我说怎么搜不到啊? ok 啊,这样一搜的话,我们是不是知道数据就在哪里呢?数据就在这个页面里面, 那数据在这里,好点击这一个搜索按钮啊,点击它的一个搜索按钮,然后第二步的话输入搜索内容,回车下面这里的话就是它的一个数据 啊,就通过这样的话去分析的啊,分析找到他的一个数据位置,那他的链接是哪一个呢?我们来看他数据的链接地址是哪个?就这个啊,这个话就数据的一个接口链接啊所在的链接地址, 那这个链接其实和我们导航来的链接是一样的,看没有跟我们导航来的这个链接他是一模一样的, 对,是一样的吧。那就说明什么呢?就说明它是一个静态网页啊,就说明我们的一个啊,贝壳的二手二手房源数据啊,它就是一个静态页面啊,静态页面 就我们想要的数据,什么想要的数据内容都在网页源代码中, 源代码中存在 啊,这的话就是我们分析啊我们所需要的数据,它是在什么地方好不好?然后分析清楚之后的话我们通过代码去实现的话。呃,我们常规有两个,一个是 request 嘛?通过 request 的 一个模块,那 request 模块的话它有四步啊,第一个 发送请求,获取数据、解析数据和保存数据啊,分为我们这四步。发送请求呢,就是模拟浏览器对于我们的 url 地址发送请求, 获取数据的话就获取服务器返回的响应数据。解析数据的话呢就是提取 我们需要的数据内容。保存呢?把提取出来的数据保存到本地文件中啊,就可以了哇啊?就可以了,那就按照这四步啊,按照这四步那但是的话我们说过啊,我们用这个模块的话,你使用这个 request 模块去进行请求的话, 请求对啊,需要干嘛呢?呃,模拟浏览器啊,模拟成浏览器?对,就相当于把 python 代码 伪装成浏览器进行一个请求。对这个东西的话就会涉及到一个点,就是如果说啊,如果网站它是进行了一些反爬的一些措施处理, 对,那你就需要干嘛呢?需要进行一个反反爬,反反爬的一些操作 对不对啊?相对而言的话,你用这种方式去做数据采集是可以的,但是如果说对于一些加密比较严重的,或者说反爬比较严重的一些网站,你使用它去获取数据的话,相对而言会麻烦一些, 明白吗?就如果啊,如果说对于有一些反爬比较严重的一些网站, 使用 request 请求获取数据, 相对而言会比较麻烦啊,会比较麻烦一些啊。当然这个的话我们之前也给大家讲过很多次啊,然后我们今天的话给大家换一个模块给大家,我们今天虽然我们在代码当中写了一个 request, 也用了一个 action page 啊,我们今天的话就把这两个东西都给大家讲一讲 啊,我们今天的话就用主要使用的什么呢?采集数据的话,我们主要使用这个模块啊, action page 的 一个模块 啊,使用它啊,它的话和这两个东西有什么区别呢?这个的话它是自动化的一个模块啊,是一个自动化模块。模拟人的行为对于浏览器进行相关操作 啊,模拟人的一个行为对于浏览器进行相关操作,就我们锐志的话是模拟浏览器,然后去呃请求接口获取数据,那它的话就相当于我们用真实的浏览器去进行访问,然后获取它上面的一些数据内容, 那就是某些的一些反爬啊,或者说有些加密的东西啊,嗯,我们是可以给他忽略掉的,给他忽略掉的就相对于会简单一点啊,这个的话,呃,这个去采集数据啊,我们使用什么呢?自动化采集数据, 对于什么呢?对于我们的一些初学者来说的话,更友好一些,更友好,也更简单一些,更简单。 好吧,那它的步骤的话也是分为四步啊,第一步的话像这里是发送请求,是模拟浏览器去请求,那我们第一步就是打开浏览器访问网站,然后第二步获取数据,第三步解析数据,保存数据, 对吧?它其实也是这四步啊,也是这四步,明白了吧? 没有什么特别大的区别啊,没有什么特别大的区别啊,基本的步骤是也是分为这四个步骤好不好? ok 啊,但是如果说我们要使用这个模块的话,刚给大家讲过,它是模拟人的行为,对于咱们浏览器进行操作,需要让程序自动打开浏览器自动去访问,那我们每个人的电脑当中的话可能会存在多个。 对啊,可能存在多个浏览器啊,存个多代浏览器。所以你要使用这个模块的话,你首先得做一个简单的配置啊,做一个简单的一个准备工作, 准备工作的话我们可以通过它的官网啊,官方文档也是这一个 jason 配置的官方文档,它会有提供相关的一个什么呢?啊?有提供相关的代码的啊,也会提供相关的方法的,我们来看一下啊,那我们就用这个方法一。 嗯,网站的话我们也给他拿啊,也放到这里。 ok, 把这个复制一份。那新建一个临时的拍摄文件啊,输入下面的代码,然后把你这个路径改一改,就我们把这个代码放到这个拍摄文件里面来,然后就把这个路径,这个路径的话就是填你电脑的浏览器的可执行文件路径 啊,填你电脑的可执行文件路径啊,什么配置?因为你要程序自动打开浏览器,人家怎么知道你打开的是哪个浏览器呢?打配置什么配置浏览器的可执行文件路径啊?因为你电脑当中啊,就每个人的电脑中啊,可能会存在什么呢?存在多个浏览器, 对不对?程序是不清楚,你究竟是想用哪个的使用啊?具体哪个浏览器进行一个数据获取的, 懂了吗?所以对吧?你在使用之前啊,在第一次啊,第一次使用的时候需要啊配置浏览器的可执行文件路径,也就是相当于让程序知道你要使用哪个浏览器, 哪个浏览器进行一个数据获取,明白了吗?啊?就这么一回事啊,你就把这个路径改成你电脑的一个,嗯,然后怎么去看呢?如何查找浏览器的可执行文件路径呢? 第一步啊,对于我们啊浏览器的 logo 右键选择打开文件所在的位置,然后直到找到什么呢?找到浏览器的应用程序 所在的一个文件路径啊,找到应用程序啊,找到它那个应用程序啊, 啊,给大家演示一下啊,就比如说我这里的话,这个是我们的,我用谷歌吗?那这谷歌的话是不是我们的软件右键,右键的话,他有个 打开文件位置啊?打开之后的话,一刚开始的话,他可能会打开的是一个快递方式啊,打开的话,你看这里是个快递方式,这个快递方式不是的,我们要找那个应用程序,所以说我们对于这个快递方式的话也要右键打开文件所在的位置,直到找到哪一个呢?找到这个应用程序位置啊, 找到这个地方。那找到这个,找到这个之后的话,哎,你就把什么呢?把这个路径给它复制过来粘贴到这个代码当中 啊,它的这个名字也要加上它的。呃,就是浏览器的名字和它这个点 ex 的 后缀也要给它加上。好吧,你粘贴过来之后直接右键运行一下就行了, 好运行。当你显示出这个的时候啊,就表示你干嘛呢?配置成功了啊,这个话就是表示啊,配置成功了, 成功了,懂吗?而且记,记住一个点啊,记住一个点啊,就只有什么呢?第一次使用的时候需要进行一个配置,后续只要不更改浏览器,不更改浏览器的一个位置 就不需要再进行配置了,明白了吗?啊?只有你第一次使用这个模块的时候需要配置啊,你配置好了之后,你第二次使用以后的话都可以不用配置了,然后你配置好之后的话,这个代码就可以不用管了,就直接给他删掉就行了。 哇,直接删掉就行了,明白了没有啊?这个话就是关于我们这一个配置的一些基本问题,配置好了之后的话啊,我们就按照基本代码去做了啊, 代码的一个具体实现。关于前面这里的话还有没有疑问想问的啊?关于前面自己所讲的东西,没问题跟上的。扣个六好不好?有疑问的同学可以扣个五。 那这个扣五的话是后面进来的吗?还是什么呢?还是哪个地方有问题呢? 呐这个我醉玉眠。卧。醉玉眠后面是啥亲切区吗? 请且去。我喝醉了要睡觉了,你你你赶紧走。哈哈,对吧,我喝醉了想要睡觉了,你赶紧走。 返回代码,你截个图。什么叫做返回代码?你截个图哪个叫返回代码?你截个图 返回代码。什么返回代码?就这个代码。那这一个吗?还是什么 配置?你直接百度搜加上配置。官方文档上面有啊。直接去官方文档去找找这这个模块的一个官方文档,官方文档里面有。好吧,官方文档有,你直接百度搜一下就有了 啊。这这个东西大家大家这没关系啊,我刚刚说过啊,这这个东西的话是直接在官方文档里面去找就行了啊官方文档去找就行了,你百度搜一下就有了。 你不要啥东西都抄啊,你们要听的是思路啊,你真大家有时候进进真的不要不要单纯抄代码,抄代码是没有任何意义的。这里给大家说一下不要单纯抄代码 是没有任何的意义的啊,没有任何意义的。对,你要了解什么?了解?呃,整个案例实现的一个流程思路啊, 因为你思路流程知道的话你这个东西你可以自己复现出来的啊。为什么说抄代码是没有意义呢?因为我们这个案例之前讲过像贝壳的啊,贝壳的一个二手房的数据啊。之前讲过的,讲过的话因为是最近网站更新了,网站更新了,增加反爬了, 所以很多人他不会怎么做了啊,就不会进行一个采集了,所以我就给大家再讲一讲这个案例, 就相当于如果说你只会单程抄代码的话,你会发现网站一更新你就不知道怎么去做了,所以他反爬的话增加反爬,或者说做了一些,呃,加密的一些处理啊,或者说网站变呐,更新呐,你你可以根据相应的思路去进行修改啊,进行对应的一个修改就好了。 ok 啊,首先的话我们代码具体实现第一步的话就是打开浏览器访问网站, 非常非常非常非常简单的三行代码。打开浏览器访问呢,是非常简单的三行代码,就三行,呃,只要你配置好了那个环境啊。第一行的话导入一下自动化的一个模块, from action page, import from page 第二行打开浏览器 dp 等于一个什么呢? chrome page 第三行访问网站 d p, 点上一个 get 啊,点上一 get, 把它的网址拿过来,就是你要采集的目标网址啊, 采集的那个目标网址给他拿过来,然后右键运行,他就会只要这三行代码,他就会自动打开,你看到没有?自动打开这个浏览器,自动去对于这个网站进行一个访问, 是不是?是不是自动打开了自动去访问了啊?就这简单的三行代码截个图。好吧,给大家举个例解释一下这个的话叫做什么呢?叫我们我们叫做打开浏览器,它其实也叫做实力化浏览器对象, 浏览器的一个对象,那它呢? 这个东西呢?就是它啊,这个就是这个对象,就是浏览器,就是我们打开浏览器,哎,就表示什么呢?打开了这个浏览器啊,就表示打开了这个浏览器,懂了吗?然后我们只是说用了一个什么呢?我,我用了一个变量去接收 好,我是不是用了一个变量名去接收它了?对,是不是用了个 d p, 那 这句话我们是不是用了个 d p 的 变量名, 对吧?这个 d p 的 话就是接收了什么呢?接收这个,接收这个也相当于我们 d p 的 话啊。 d p 的 话就是什么呢?就是打开了这个浏览器 啊,就是打开了这个浏览器。那如果说啊,如果说我们需要干嘛?需要对于这个浏览器进行相关的一些操作的话,其实就是干嘛呢?调用这个 d p 封装的相关方法啊,包括你像这个它封装的一个什么呢? get 的 方法啊?这个 get 点 get 嘛?点 get 的 话就是相当于让这个浏览器得到一个网址嘛,把 d p 就 浏览器就相当于让 d p 这个浏览器啊,浏览器就像得到一个网址,得到网址那不就打开了嘛?对,就这么一回事啊,就这三行代码, 非常简单的三行代码,你知道了解这是每行代码分别代表的东西是什么?分别所代表的意思是什么就可以了,好不好?然后第二步的话啊,第二步的话就是着重学校讲的获取数据啊。 呃,第二步和第三步的话可以一起写啊,获取加解析啊,可以直接写, 因为为什么呢?因为我们的这个网站的数据啊,网站数据的话,它是一个静态页面,那网页静态页面的话,我们直接可以通过什么呢?元素面板去获取?对,因为因为我们的一个什么呢? 因为贝壳网站的一个数据啊,网站数据它是一个静态页面,那我们可以直接通过什么呢?直接通过元素面板 中的一个,通过元素面板啊,直接定位数据标签获取数据内容。 如果说是静态啊,如果说是动态的话,我们可能还要去监听一下他的一个接口啊,这里的话我就不做衍生讲了,这个地方的话我就不做衍生讲了,因为对于很多一些初学者来说的话,就是你听得越多会越蒙啊,我就不做衍生讲了,你就按照我的来就好了,好吧,按照我的来就可以了。 ok, 好 啊,那我们这里的话就直接可以通过什么呢?通过它的元素面板啊,去进行一个数据获取啊,进行数据获取啊,这个怎么去做呢?我们可以选择使用一个 css 啊, 选择器啊,通过 cs 选择器去提取数据啊。 啊,这个东西的话怎么去用呢?就是根据标签的属性提取数据内容的啊,根据标签属性提取内容的,首先第一步啊,怎么去用啊?第一步查看数据对应的一个标签位置, 第二个啊,根据标签实现相关的一个语法啊,实现相关语法,这看标签怎么去看呢?教大家怎么去看啊?通过元素面板啊,这个元素面板我们用这个箭头去选,那选择它, 选择它,你看没有,这个不就是我们的标签吗? 那这个不就标签,我们想要的数据不都是在这个标签里面吗?对不对?哎,我们需要的这一个房源信息数据啊,都是在这个什么 d i v 标签中, 对不对啊?这是第一个房源信息,那我们第二个房你记住这个啊,记住这个标签啊,记住这个标签的样子,我们截个图放这里啊,那我们再看下第二个房源的标签,你看它是不是一样的?是不是一样的? 对不对?是不是一样的就相当于我们所有的什么呢?整个页面它的房源数据信息都存在什么呢?都是在这个啊,在这个 d i v 表现中, 这个能理解吧?那这第一个是第一个,第二个是第二个,都是一样的,那第三个的话也是在这个 d i v 标签啊, 那第三个是不是也是这个,对不对啊?所以说我们这边的话啊,可以写一个什么呢? 我们第一次提取,提取所有房源信息所在的这个 d i v 标签 啊,把它把把它当成一个个体,因为我们整个页面的话,把它把这里当成一个个体啊,把这里也当成一个个体,我们先把整个的这个标签给它拿下来。这个标签怎么去写它的语法呢啊? cs 语法怎么写呢?你可以看到啊, 我们刚说过,先找到他的一个所在位置,先查看对应的一个标签位置,然后根据标签去实现相关语法。他的标签的话有一个什么呢?首先啊,这个是 dna 标签,后面是不是有个 class 类名,类名的话是个 inf, 然后一个 clear, 对, 是不是一个这个玩意啊?中间的话这里是不是有空格,对不对啊?像这种的话,那怎么去做呢?如果说你实在不会, 你实在是不会的话,就复制右边这里,那就复制右边这个 啊,你实在不会你就复制右边。呃,你把这个全复制的话也行啊,把这个全复制也行,懂了没有?你实在不会的话你就复制右边呐,这个话就是它的一个 css 语法, 懂吗?这个的话就是它的一个 css 语法好不好啊?截个图给大家大概的解释一下啊。 哇,截个图大概把这一个流程给你们解释,如果说你不会写的话,你就直接复制啊,然后这个的话是我们的一个什么呢?呃,选择它啊,选择我们想要的数据,然后选择数据的话,我们是可以看到对应的一个标签, 对吧?对应的标签的话我们再看右边,看右边这个样式,这个话就对应了一个 css 语法, css 语法的话,我们可以 ctrl g f 打开搜索框。 好吧,我们这里的话,第一步啊,第一步啊,通过箭头选择数据,第二步根据数据定位它的一个标签位置。第三步,查看右侧的样式, 样式,对吧?啊,就是相当于啊,查看右侧样式,它有对应的什么呢?对应的标签的 css 语法, 然后我们检测第四步的话就检测我们的语法啊,检测 cs 语法是否正确, 可以在我们的一个什么呢?在元素面板当中啊,元素面板中 ctrl 键唱跳 rap 篮球加 f 啊,在元素面板中 ctrl 加 f, 打开搜索框,然后粘贴我们的一个语法 这个 cs 语法,然后看它能够是否能匹配到啊?是否能匹配到数据, 匹配到数据,对,在这个地方的话,它就会告诉你匹配到到一共多少条,前面这个的话是表示第一个,后面的话是总计是匹配到多少条数据,如果说你不会的话就复制右边,这里 明白没有小黑子,哈哈哈。那 ctrl 键不就是唱跳 rap 篮球吗?对,唱跳 rap 篮球。没。没毛病吧没毛病啊,这一切的一切都是那么的巧合啊,一切的一切都是那么的合理 啊,上上天安排的是最大上天安排的啊,都是缘分,哈哈, ok 啊。呃,然后然后呢?我们啊,如如果说你你按照我们刚刚讲的就你可以直接复制啊,直接复制,然后我们去怎么去写呢? d p 点上 e l e s 括号,冒号, css 冒号 啊,你可以把这个语法干完直接给他粘贴过来啊直接粘贴过来啊,可以这么写啊可以可以这样子啊可以这样子。如果说你要简写的话就直接写这一块就可以了啊,简单一点的话就直接点 inf 啊点 inf 就 行了啊直接直接点 inf 的 话也可以匹配到的也可以匹配到的 啊。这是完整的这是完整比较大的。其实我们简写的话就写个点 e f 就 可以了啊,点 e f 就 可以了。 ok, 那 这里的话用个 d a b s 去接受。一不小心漏出了技巧。给大家解释一下这行代码的意思啊 给大家解释一下这行代码的一个意思啊。首先 d p 点上 e l e s 的 话,这个是表示什么呢?表示通过元素定位 啊,就是通过元素定位的方法嘛就是元素定位的方法嘛?元素定位啊啊, e l e 为什么叫元素定位呢?它就是元素的一个缩写啊啊,元素的话它的全称叫做 element 啊,这是我们元素的一个缩写啊 的 element, 这是元素的缩写。加个 s 的 话是表示匹配多个啊,有个 s 的 话是表示匹配多个,懂了吗?然后这个里面的话啊,里面的这一段内容的话,它就是表示使用 css 啊, css 是 冒号的话,就表示后面你是使用 css 语法 进行一个定位,然后我们前面是不是给大家说过它这里面是不是有一堆这玩意? 但我们实际看看它的样式的话,它会有一堆啊,就看在在浏览器中啊,它的一个语法是很长一段的啊,我们实际可以简写啊,简写,简写成这一个,对吧?简写这一个,这个的话就表示什么呢?定位类名为 inf 的 啊, 你应该说定位类名含有 inf 的 标签 啊,定位类名含有这个 inf 的 一个标签,懂了吗?那这样的话是不是一样可以定位到三十个?所以说你可以不用写这么长啊,如果说你想写这么长也没关系啊,但如果说会的话,我们就简写就行了,就写这个啊,定位好了之后的话,我们用个 d i v s 去接收它这里的话 啊,它这个地方的话就是什么呢?返回的是个列表 哇,这里返回的是个列表,你要像我们这个 div 标签的话,这些东西就全部放到这个列表里面了啊,是一个对象啊,是个对象,所以我们首先的话得 for 循环并列,提取列表里面的元素 for div in 我 们那个什么 divs, 然后这个 div 的 话也可以去用这个方法啊,就在这个循环当中的话,就提取什么呢?具体的房源信息内容 啊,我们同样用 css 啊,用 css 冒号,那我们比如说我要取它的标题,我们来看一下标题在哪里啊?选择标题标题的话是不是这个地方它是不是有个 title a 呐?是不是有个 title a? 那是不是有个抬头 a? 那 我们就直接用抬头 a 就 行了。抬头 a 啊,这个是表示什么呢?定位这个呃类名为 title 下面的 a 标签,然后 a 标签里面的什么呢?获取它里面的文本数据啊,或者说获取它里面的这个 title 属性都可以啊。我们直接获取文本吧, 点 text tab 答案一下。那这个话就是我们的一个标题,我们把标题放到,放到一个字典里面,放到一个字典里面标题 给大家看下效果啊, 那这样的话我们的标题是不是就都获取下来了? 没毛病吧,是吧?这个的话就是我们解析和获取解析啊,那么直接相当于解析这个数据就拿到我们的相应的一个内容了啊。这个地方的话有没有疑问?二十六行到我们的一个三十四行代码有没有问题?没有问题能跟上的啊,扣六,有疑问的话可以扣五 啊。客户发笔记嘛,内容太多了,实在记不住。我们公开课的话是一个试听课啊,试听课的话是没有这些东西的。咱们是一个试听免费的啊,免费的话是没有这些笔记的。 不花钱的啊,这是不花钱的,付费的试听课。 如果说你是花了钱的,那那笔记、录播,原码这些都有的,是吧?这是没花钱的,你没花钱的话,呃。没有这些东西啊。 那那那花钱的怎么个说法?花钱的话就所有的东西都有啊,就花钱的话所有的,不管是笔记,不管是录播,不管是我们的课间呃代码啊,还是老师的呃,一对一的解答辅导,这些的话都有的,但是你像这个是付费试听课程的,这是一个试听课,付费的一个,呃,是一个免费的一个试听课, ok 啊,然后我们这边的话啊,呃,我们拿到这个标题啊,拿到标题之后的话我们来继续啊,既然大家都没有对代码都没什么问题的话,那我们就继续了啊, 同样的方法,同样的方式,把这些数据全部拿一下,它的一个,它的一个什么呢?小区啊,这是小区,小区的话在哪里?在这个什么 position input 啊? position input 下面的 a 标签, 对不对? position input 下面的 a 标签。 ok, 我 们直接快速复制一下, 那这个话用个 position, 那 这个话就是 text 啊,它的话就是我们的小区。好的,然后我们再看一下还有什么数据啊?价格,总价,总价的话一百一十八啊,幺幺点八。幺幺点八的话在哪里?在这个啊, 这个下面的一个什么呢? speed 标签, ok, 复制一份。这个下面的 speed 标签就它的一个总价 呐,总价,它的单价的话在哪里?我们来再来看下单价,单价的话在这个里面啊,这个什么 uni unity price, 然后下面的一个 speed 标签, 对不对?那然后是多少多少平? ok, 那 我们给他复制一份, 那这句话就用一个 unity price, 那 这个话就是我们的单价多少钱一平的, ok, 呃,然后的话我们还有一个什么呢?一个信息啊,这个信息的话在这个 house info 里面,对不对?好,那我们再取一下 house info text 运行一下啊, 那数据的话就基本上的话是没有问题的啊,基本上没问题。那我们的标题小区 总价、单价,然后还有它的一个信息内容,那它的信息内容。好,那我们现在的话要去做的话就是做一些简单的一个数据处理啊。数据处理?对,因为我们这边的话它的一个信息的话啊,房源的一个房源的一些信息啊, 它是在一起啊,就都在这个里面。对啊,那我们就把这些数据单独给它拎出来啊,单独给它拎出来,对不对?出处理一下这个信息啊,那我们点上一个什么呢?点上一个 split 分 个割啊,它的数据的话都是以这个作为隔开的,那我们就以它进行一个分割,分割之后的话我们来打印一下这个 house info, 我 们先就不打印这个了,来看一下这个数据。 ok, 我 们这个数据的话它有一些不一样的东西啊。什么不一样的地方啊?你可以看一下 我们前面这一条数据,它是没有日期的,这里的话是有日期的,然后这又没有日期,然后又有日期。日期日期,就它有一些是有年份的,有些是没有年份的, 看到了吗?他有些是有年份的,有些是没有年份的,对不对?所以说我们在这个地方的话就要去做一下判断啊,他的年份 date 就 等于什么呢? 呃,那我就,呃,不能这么写啊, 呃,他这个数据有点问题啊。嗯,有有一个问题啊,就是他有年份的话,有年份的话,那我们的一个什么呢? 他自己是不是有年份?有年份的话他就是先是楼层情况,然后是年份,然后是我们的户型面积朝向,如果没有年份的话,他的户型和楼层是在一起,然后是面积和朝向, 然后是面积和朝向,对不对啊?所以说我们在这个地方的话啊,首先呢,这个面积的话,那我们就比较好取了,直接 inf 取我们的一个负二,朝向的话就取负一 啊,朝向取负一,拿这个取负二啊,这个话是肯定是没问题的。然后它的年份的话,那我们这里要做一个判断啊,如果说啊,那 house, inf 等等于多少?等等于我们的一二三四五,一二三四五, ok, 等等于五的话,如果说它有五个元素,那我们的日期的话就等于什么呢? house in four 取哪个?取二,取二, 对不对?然后我们的户型的话啊,户型的话就取三,嗯, 取三, 这没问题吧?这个没问题吧?这,这没有任何问题吧,对不对?然后我们的楼层的话啊,楼层的话,楼层的话,我们就是什么呢? floor in four, house in four 取一啊,取零,哎,等等于五一二三四五啊,这个应该是一啊,这个应该是二啊,啊,这个是零啊, 啊,它楼层的话是这样子的啊,然后它是属于中楼层还是高楼层呢?对,它一共有多少层呢? 对不对啊?那在这个地方的话,我们可以给他提取一下,可以给他提取一下,如果说是高楼层还是中低楼层的话啊,就他的楼层高度情况的话,嗯,那我们就可以直接 inf 去零啊,就表示他是高楼层还是低楼层,然后他的楼层数的话啊,楼层数的话 number 楼层数的话,我们直接用正则给它匹配出来, 正则表达式模块 import r e。 哎,它怎么不给我代码?正提示啊? import r e, 我 们直接给它匹配出来, 直接给它匹配一下 共多少层。括号杠叠加 取零啊,这个话就是有多少层啊?楼层数,但否则的话啊,否则的话日期的话就是一个空的啊。就是未知日期的话就是没有日期的, 但否则的话日期是没有的啊,没有日期的啊。对啊,没有日期的,对,它是没有日期的。然后我们的一个数据的话啊, 我们的一个户型的话就等于什么呢?等于我们 house input 取零,取零,取零。之后的话,我们 split 分 割,以空格分割吧,空格分割取零把,这里有个空格, 然后我们的楼层的话,楼层的话就是 这个是取负一啊,取最后一个。峰哥取负一,然后这个取零,然后再取个零啊,再取个零,然后我们这边的话啊,这个户型 number 的 话,户型 number 的 话就等于什么呢? 取一,再取个零。 ok, 就 这样写吧,就这样写吧。好,我们的楼层啊, 楼层的话就是哪一个呢?楼层就是它啊, 然后我们乘数啊,楼层数啊,就是我们楼层有多少多少乘数。那 flow number, 然后还有什么呢?我们的一个年份对折,呃,还有我们的一个户型,户型的话就是它啊,就它。你打印一下。 好,就这里话就做了一些处理啊,我们来运行看一下效果。 嗯,楼层宿舍里有问题啊,我看一下啊,共多少层,然后 in four 取零。 split 啊, split 应该啊, split 是 取零,取零的话,然后这个地方是取一啊,分割取一,取一之后的话不用再取了啊,不用再取了,应该这样写的, ok 啊,看到没有啊?楼层是高的,高楼层一共是三十三层,然后年份是未知的。户型的话是五室两厅,面积是一百二十四,然后朝向是南北,那这边的话是 楼层是高,层数三十三,然后年份是二一四年的四室两厅,然后一百三十三平,然后朝向是南啊,十七层的,三十三层的。十七层楼层是属于高层的啊,高楼层的,低中楼层的, 是不是就基本就把它数据的话做了一个处理啊?就单独把每个数据给它剥离开来,作为一个单独的一个个体啊,分就就不用像我们刚开始的话,就是在一堆那么杂那么 乱那么杂那么乱,行吧,那这个话就是我们基本的一个数据解析啊,数据解析的一个内容,然后关于我们这数据的话也做了一些简单的一些处理啊。 啊?还有问题吗? 这代码写的有点有点有点花里胡哨的,但是大家知道思路就行了, 有没有疑问想问的? 没有的话,那我们接下来的话就是保存数据了,保存数据的话固定写法啊,固定写法,固定的一个写法, 我们直接导入一个什么呢? c s v 模块, import c s v 创建文件对象, f 等于 open data 点 c s v model 等于 w 啊,或者说我们直接来个二手房吧, model w 给个编码 n code 零 t 空八,再给个换行符自空字典写入的方法, 把对象名传进去,再加加啊,把我们的对象传进去,再加上我们的字段名,然后呢,再用它的键啊,用这个字典的键作为它的一个 表头替换, 再使用一个变量名去接收 right 下面的话我们就是写入啊表头 hand 然后在这个地方我们写入数据。 好我们来看一下。好现在这里是空的啊我们运行一下啊它这里会多一个二手房点 c s v 的 一个文件啊会多一个二手房点 c s v 文件那这里话就是我们保存下来的一个数据 嘿这里话就是我们采集下来的数据内容 可以吧啊关于这单页的一个采集的话大家有没有问题想问的。现在有问题赶紧问啊因为等一下就要上难度了等一下就要上难度了 我们现在这里的话是属于基础啊属于爬虫基础入门的一个内容等会的话就要给大家上难度了做批量采集的话就会稍微麻烦一些 啊。 flow 是 傻瓜的意思不这个是楼层的意思吧 我记得这个是楼层的意思吧这傻瓜呢。嗯 嗯那楼层呢那楼层那个单词是哪一个 啊少了个啥啊啊写错了嘿嘿。啊记错了记错了记错了哈哈哈记错了这事实证明什么呢。事实证明啊英文单词啊这个是楼层。对啊事实证明啊 打英语不好啊也可以也可以学拍摄问题不大。是傻瓜的意思啊哎是傻瓜的意思哎我我以为他是个楼层的意思呵呵。呃记错了单词记错了哈哈小问题小问题 哇能看到效果啊。没有问题的同学扣个六有疑问的话扣个五。那现在可以把你的问题说一说啊你以为老师在暗示你们。没有啊我记错单词了呵呵记错单词记错单词了。 因为这两个还是有点像的啊。这两个玩意还是有点像的,一下子记错了。 没有问题,跟上的扣六,有疑问的话扣个五。大家五也没扣,六也没扣啊。我也不知道你是到底是跟上了还是没跟上,是听懂了还是没听懂还是在那里闷头截图,等会客户想到截完图然后抄代码吗? 你不要告诉我在闷头截图啊,闷头截图然后等一下到时候跟着截图去抄代码。那那那那真的就是有点傻了啊, 那真的就是有点傻乎乎的了,不如趁这个时间对于你不懂的地方赶紧多问一问有哪行代码不懂的吧。没有是吧?没有的话那我们接下来就是第二部分了,翻译了啊,翻译的话啊,批量采集啊, 我们使用的是自动化。对啊,我们使用的是自动化,自动化翻译的话就是模拟人的行为去操作啊,模拟人的行为操作,我们正常人为怎么去翻译的? 下滑页面,点击下页对不对?下滑页面点击下页,然后获取下页的内容,对不对啊?就就正常的话啊,正常翻页的话就是下滑页面,然后点击下页的按钮, ok 吧,没问题啊。好,那我们这里的话给大家来构建一个循环。好吧,我们来构建一个循环啊,构建一个循环翻译 for page in。 我 们的什么 region? 你 要采集多少页你就写多少。那我们就采集十页,我们就采集到十一对到十一 啊,那我们首先的话是不是要什么呢?下滑页面 d p 让我们网页进行下滑啊,这个的话就下滑页面到底部啊到底部,然后下滑完之后的话,我们要点击什么呢?点击下页的一个按钮, d p 点上 e l e text, 等于下页点上 click。 那我们就点击文本为下一页的这个标签啊,就点击这个嘛,是不是啊?看似是不是非常简单?是不是看似非常简单。 ok, 我 们这里打印一下 print, 正在采集第多少页的数据内容, 右键运行第一页, ok, 拿到了第二页, 第二页卡住了, 第二页没有反应了。为什么他第二页没有反应了呢? 好,报错了,没有找到元素。对啊,为什么呢?为什么呢?回到我们这网站来啊,点击下一页 啊,常规操作比较简单,但这个网站的话它有个验证。好吧,常规啊,但是呢,对吧,咱们这个贝壳的啊,网站的一个数据,它是有一个什么验证码,有个人机验证,所以我们得需要把这个人机验证给它过了 啊,给它过了,自动化过人机验证简直不要太简单啊。自动化过人机验证就很简单的。呃,怎么去过呢? 那首先的话,我们这边的代码的话,我统一啊, 我,我统一定一个函数啊,我不写这么多了,不让大家看这么多东西了。 d f get content, 这个的话是获取啊,获取数据的, 我就直接写个函数了,这样的话大家看起来就会简单一些,就稍微简单一些。 呃,人机验证怎么出来的啊?你点到第二页它就自己就出来了 啊?这个这个网站它就是自己出来的,就是你,你要对它进行批量采集的话,当你翻到第二页的时候,它就会有人机验证你,你要不自己试一下,然后把网站发给你,你自己去试一下。 好,把网址发给大家,你可以自己去试一下你,你用电脑浏览器去访问一下,访问这个网站之后的话,你点到下页,他就会有这个人机验证,就会出现这个人机验证, 明白吗?他就会出现这个人机验证啊,所以说我们现在的话就要去去验证一下他啊,所以说我们就要验证一下,好吧?啊?验证的话,但是你要做判断吧,但你得去做判断啊,好吧,但这个地方的话,你需要干嘛呢?需要进行一个判断 并判断,判断什么呢?因为他并不是,并不是,每次就可能说你这一次验证过了,但你可以采集一段时间,然后下你采集一定的页数啊, 需要进行判断,因为呢,就是啊,这次验证过了后啊,过了以后你可以干嘛呢?采集一定的页数 数据内容的,当达到一定数据的时候到他他可能会,到时候会随机啊,随机,然后又生成什么呢?生成验证又会随机生成验证,所以说你要去判断,判断什么呢?判断你是这个页面是你的数据还是什么呢? 页面返回的是数据内容还是验证码, 这个能力,对吧?所以说你先得去判断一下你获取的这个页面到底是数据的内容呢?还是验证码,这个怎么去判断呢?看网址 啊,看网址,懂了吗?看这个链接,因为我们啊,我们我们如果说是正常的话,它的链接是这样子的,正常的页面如果说有数据的话,它就会会有个这玩意啊,它链接就变成这样,所以说我们去判断一下, 好,在哪里呢?我们到这里啊,采集第一页,然后我们在这个地方。呃,先干嘛呢?判断,判断,判断是否出现验证码 啊?那我们就要获取一下它的链接啊,来,先获取一下我们的一个什么呢?网页链接 d p 点上月幺。那这个话用个,用个什么呢?呃, 用个 link 吧啊?链接接收一下,判断一下。如果说啊,如果说什么呢?如果说我们这个啊, cap in 我 们的一个什么呢? link 存在我们这个链接里面。那这里的话就要说什么?做验证码识别啊, 做验证码识别,否则的话 else 啊,否则的话我就正常干嘛呢? 否则的话就正常获取数据啊, 否则的话你就正常获取数据啊,正常正常,正常下滑页面,然后呢?正常的下滑页面,然后正常的去获取数据啊,然后点击下页,点击下页的话写最后就可以了,就这样子写, 懂了没有?那我们这里是不是要去做验证?大家做验证吧。做验证的话,那我首先是不是得点击一下,那是不是要先点击这,点击这个开始验证?那我们直接以这个文字啊, 点击验证啊。 d p 点上什么呢? e l e text 等于什么呢?它 给大家运行一下,看一下我们这个效果,看这边的一个效果 呐,验证验证之后的话,他就会出现这个图片啊,会出现这个图片,看吧,点了验证之后的话啊,他就会有图片,然后再且记住啊,再且记住。他有两个验证逻辑 啊,点完之后的话,他有两个验证的图片啊,我们不能这样截图啊,这样截图吧,他有两个。 我的妈呀,三个啊, 我之前看只有两个,这里话变成三个了,他有三个验证的逻辑吗?我天老爷, 那我们来重新再访问一下。好,重新再访问一下 呐,你它有三种吗?啊?三个不同的点选啊三个不同的点选啊, 三个不同的点选啊,因为它的验证规则不一样。那我们再再再运行一下,我再运行看下它有没有第四个,因为之前 之前我好像看了一眼,他只有这一二三只只有这两个,之前我只看到了这两个之前我只看到了看到了这个和这个啊,中间这个是没有看到的。好吧,那有三个的话我们就解决三个嘛,就多解决一个多解决一个啊多解决一个 啊,三个不同的啊三个不同的。 呃这个东西的话,嗯比较简单啊比较简单,它不是很复杂。第一个获取一下我们的一个验证码图片,第二个识别验证码图片 啊,识别验证码图片,因为它是个点选的。这这个东西的话是个点选啊,点选验证啊, 先获取,然后获取这个验证码图片,然后获取识别他的验证码图片,获取他需要点击的一个坐标,然后第三步啊进行一个什么呢?啊?点击识别啊,进行一个自动点击识别验证。 懂了,就这三个简单的获取验证码的话, 获取验证码的话,我们 我能不能直接从第二页开始啊? pg 二, ok。 哎, pg 二的话他他我这个,那我还是按正常来吧按正常来 教大家怎么去弄啊?啊?我们就需要把这个图给他截图截下来啊,获取的话我们就直接通过截图啊,截下来啊,通过我们的程序把这张图给他截下来啊, 通过啊,通过我们 d p 啊,对于我们的一个验证码的一个图片进行一个截图保存啊,直接进行一个截图保存就行了,截图保存的话,我们来定位一下它的一个元素啊, 啊,这个话就是它的元素啊,这个,对,有个这个 box, 它这个是集验的啊,它是集验的,集验四代的一个点选,那就它 啊,点击验证,点击验证完之后的话,我们需要等待一下啊,我不知道它能不能加载的比较快,看它加载加载的会不会稍微快一些,那这个话就是我们的一个什么呢?图片的一个坐标啊,图片的一个元素啊, 然后我们的话,呃,保存啊,截图保存我们的一个验证码,图片 i m g 点上 get 它,呃, pass, b g, 点上 jpg 啊, b g, 点上 jpg。 对, 这样的话我们就可以把这张图给大家截取下来啊,给大家看一下, 点击验证啊,有点快了,看到没有?他是不是有点快了?当你点击完验证之后的话,他会有一个验证的一个过程,他不会立马把这个东西加载出来,对,不会立马把这个东西加载出来,所以说我们在这个地方的话可以稍微做一个延时等待啊,他点击验证的话,需要 需要一定的一个时间进行一个验证识别啊,进行一个验证啊,所以说我们这里可以做一个稍微的延时,那我们导入一个时间模块, 但因为它点了之后的话,它需要进行一个简单的验证啊,那么点上一个 split 啊,延延迟个两秒,再给大家演示看一下。 ok 啊,它就直接截图保存了,我们这里暂停了。那这个话就是它出来的图片。 对啊,出来图片就就已经有了,有了这个图片之后的话,我们第第二步的识别验证码获取它的一个坐标啊,这个话我们直接利用什么呢?利用打码平台 啊,打码平台进行一个识别啊,简单一点的话直接利用打码平台去进行识别啊,我这里的话就直接用这个云码。 我还用这个啊?这个里面的话有挺多的,我们是有三个吧。呃,有三种啊,有三种, 他这里是不是返回了三个啊?一个是语序的,一个是文字的,一个是这个图形的,一个是图形的,我们来看一下。 一个是语序的 定制类型,点击这个好像不是的,这个也不一样啊,一个是它,对吧?跟这个有点像,这个不就是这个吗?那我们先打开一下啊,放到一边,然后还有呢?还有我们那个图像的呢? 按啊,文字点选按语序的。那这个就是语序的啊,我们再还还有一个什么呢? 哎,那一个我是划过了吗?看一下他还有一个什么。 呃,他的通用图标的,点击 通用的图标点击用这个可以吗?应该是这个测试一下,他有在线测试的,我们可以测试一下试一下。我把这个截个图 截图能直接丢进去吗?在线测试啊,不能直接丢啊,不能直接丢,那我们就保存一下打。他有在线测试的,我们测试一下。测试一下。这个是不是啊? 嗯,他要传几个参数啊?他要传这几个参数的 来源地址。非必填啊,非必要填,看它这个几个参数分别代表是什么 啊?一个是这个,这个的话就是它的相对提示的位置,然后这个的话是返回的坐标数,非必填,然后的话还有一个 extr 是 给的多少放大一点,怕你们看不清啊。 e s t r 应该可以不用传啊,试一下测试,选择一下。呃,它的图片呢?这里, 然后这个的话是什么来着?哎嘿嘿,这个是什么来着啊? top? 对 啊,是上面的嘛 的,这个的话提示是在上面啊,提示的话是在上面, 我怎么传不过来了? ok, 那 这个提示的话是上面 top, 然后这个可以不用填,这个应该也可以不用填,点击测试。 ok, 那 它就会返回识别成功, 对,识别成功,这个的话就坐标啊,如果说识别失败的话,它会返回一个识别失败啊,这个的话就是成功的啊,这个话就是,呃,返回成功的一个东西啊。 ok 啊,那它这边的话是有三个,对不对?三个的话那我们就掉掉三个啊,它有三个的话我们就掉三个,那我们直接呃验证啊,获取坐标啊,获取坐标 d f get 我 们的 code 啊,我们的一个接口啊,识别的一个接口啊。 api, api 链接是哪一个?看它的一个文档, 它的链接是这个,这个的话是它的链接,它的链接。然后呢?我们的一个参数 啊,请求的一个参数对称,一个是 i m g, 对 了一个 b s 六四的, 然后这个的话是必须要填的,这个是非必填的,这个是必须要填的,那这个话就是我们的一个 top 啊,因为是上方的一个提示嘛,就 top。 呃,还有呢?这个是返回坐标非必填,那就不加。还有一个 talkin, talking, talking 还有个类型,它的一个识别类型,识别类型的话是三零零二,然后是一个字母串,传一个字母串。 ok 啊,羽毛是不是要收费?这样钓鱼要花钱不?这个肯定要收费的呀,你要用人家现成的话,那肯定要花钱。如果说你不让人家现成的话,那你自己去做训练模型。好吧,那你就自己去做训练模型。 然后 img 的 话是要给一个什么呢?给一个 bios 六四的啊,我们已经获取了。那我们这里获取什么呢?获取图片的内容 img content 等于什么呢? open 点 g p g r b 啊,读取一下,点上一个 read。 读取之后的话我们转成什么呢? bios 六四啊。转 bios 六四。导入一下我们这个 bios 六四啊。导,我们编码的一个模块 bios 六四,编码的一个模块。 呃,网速也。我我你你网你网络也要花钱呢。那。那啥东西不要花钱啊。 encoding i m g content 这个话就它啊,然后这个 talking 的 话,我们就 防止。呃,防小人不防君子啊。防小人不防君子, 咱们这边防小人不防君子。 ok? 因为我之前遇到过啊,有很多人拿那个接口去调啊。导入我们的一个 talkin 呢。这个 talkin 的 话你们自己去弄啊。 对啊,之前把那个接口 talkin 拿过来,就很多人去很多人去用就用的, 没那个必要啊。你们可以自己注册一个,它有免费的额度的,而且你搞个十块钱能用好久呢?搞个十块钱能用很久啊。呃,然后的话,我们这里请求一下 啊,请求获取一下它的一个什么呢?坐标 resource, 这 resource 打错了。 request 导入一下。导入一下我们的数据请求模块啊。 import request, 点一个 get 啊,点上一个 post。 预约等于什么呢?预约我们的一个 data 等于 data 啊,没有 had。 点上一个 json, 然后 print 打印一下。 好吧,我们这边的话会识别。呃,这个识别的话是一个错误的啊,给大家看一下啊。我这里识别的话是一个错误的,因为我们我们所拿到的这张图的话是一个什么呢?是个语序的啊,它是一个语序的,所以说这个里返回的话会返回一个。 为什么会报这个错误啊? 等一下, 为什么他会报这个错?算了,重新弄一下。嗯,识别成功了, 他这里怎么能识别成功呢? 他这个地方怎么能识别成功呢? 按照语序点啊,他这个应该识别失败的。唉, 他这个的话要识别失败的啊。他,他为什么是识别成功啊?他返回了一个坐标,这个坐标肯定是不对的,因为我们这里是三个。坐标。是三个啊,他一个的话肯定是不对的。所以说我们如果他是语序的话。呃。那我们先用这边这一个吧。 talking, 然后三三幺六, 三三幺六,然后这个 top 的 话就不要了,这样的话才是他那个羽絮的,那这个才是羽絮的。 那我们就先给羽絮的吧。啊?给个羽絮的,那就返回的是个成功的,就返回了这三个啊?返回这三个。所以我们在这里要判断一下啊。 if result。 呃。取什么呢?取这个 m, s, g, 然后的话它返回的是一个什么呢?返回的是一个识别成功啊。返回的是一个识别成功的话,那我们就返回什么呢? return 返回,返回它的一个识别的一个坐标,结果 啊,就把这个坐标结果给它返回出去, 对吧?返回出去啊,然后这里话最好加一个什么呢?并且啊,并且我们这个结果分割之后,它的一个长度等于多少呢? 等于等于三啊,最好的话做一个判断啊,因为我刚看到他是多了一个什么呢?他是识别成功,但他只返回了一个坐标,并且他这个返回的话是一个三 啊,并且他返回这个坐标是三个,因为我们反,我们刚看到所有的坐标的话,点击的话都是三个元素啊,都是三个位置,如果他只返回了一个坐标的话,那肯定是不对的。 成功了,为什么去?为什么?叹叹气?因为成功的话这结果不对啊,因为我们这里话是三个坐标啊, 看到没有?这里是三个坐标啊,他就返回了一个坐标,那肯定是识别有问题的呀,所以我们在这个地方的话要做一个判断啊,做一个判断啊,识别成功,并且返回三个坐标啊,返回三个坐标啊,如果说这个不行的话,那我们就啊 if else 啊,如果说他这一个不成功的话,我们就走第二套逻辑啊,走第二套 逻辑,走第二第二个啊,走这第二个。对,他第一个不成功的话,我们就走第二个啊,这第二个的话我们就写在下面 啊,我们 data 二啊, data 一, 那这个话就是我们那一个什么呢 啊?这个的话就是属于我们 这个是哪一个的来着?一下子给我整蒙了,我操啊,这个是那一个什么呢?老符号,符号点击的啊,符号点选 啊,符号的一个点选啊,符号的一个点选啊,同样的啊,同样的去做一个判断啊,它是返回三个的,同样去进行一个判断,那这句话就是一啊, 第一个不行的话走第二条,走第二条,好吧,走第二条,如果成功的话就返回什么呢?返回它必须得三个坐标,否则的话啊,否则的话,那就是第最后一种可能啊,第三种可能,第三种可能的话,那我们就是 data 二, 那只有对他二的一个可能了。瑞萨城第二种啊,那就是我们按照什么呢?按照这个去点了,就这个,这个点击对,按 m g, 然后这里的话要给个这个参数, 然后他的 top 三幺幺二,三幺幺二,然后 return。 返回 啊,直接返回 看一下 啊,运行一下, 报错了, 哎呀, 忘记修改了, 这里要修改一下,忘记修改了, win 双十一啊,参数代码的话,不能不能搞错啊,搞错的话它等会报错的 呐,这个话就是我们的一个结果啊,这个话就是结果好不好啊?这个话就结果,结果有了之后的话,我们接下来就做点击啊,做点击 啊,做点击的话我们来啊,这里的话,我们就是获取坐标啊,然后坐标,然后这里给个 x y 吧,我们直接写一行就行了,点上一个 split 竖线啊,进行一个分割,分割之后的话我们来做点击啊,点击的话,那我们就导入动作链的一个方法啊, 导入那一个动作链的方法,动作链的一个方法 from action。 那 么 action 在 哪?在这里啊? a c, a c 啊, d p。 好, 使用这个动作链的一个方法,然后我们分割之后的话是一个给大家循环啊, for for i in。 我 们的一个什么呢? x y x 的 话就等于 i 点上一个 i h 什么呢? i 点上一个 split, 逗号取零,给它转整数啊,然后这个话就取 e, 就是 我们的 y 啊,继续 y, 那 么 a c 点上 movie two, movie two 哪个呢? movie two i m g function x offset y 进行一个什么呢?点击操作,点击完之后的话,我们点击确定啊, d p 点上 e l e, 就 我们把这个坐标全部点完之后啊,全部点完之后的话,我们需要点一下什么呢?点下这个确定按钮, 这个的话就是确定的一个按钮标签应该用它的话应该可以定位到。嗯, ok, 可以 定位到, 点上 click, ok 啊,点击验证之后,成功之后的话啊,我们等它加载一下啊,等数据加载一下,然后啊直接获取它的数据内容, get get content, 然后呃,完事之后的话获取了内容,然后点击下一页, 是不是?那这个话是不是也得下滑一下页面?也得下滑一下页面吧, 看一下效果。 绿草流,草流绿去了, 你怎么草流绿,人家是绿草流。 哎,他确定怎么不点啊? 他确定怎么不点? 他没有找到这个元素啊。那我们重新再换一个,我用个文本去定位啊,用个文本去定位大福果 为什么不成功啊?啊? 重新再运行一下, 哪又有验证呢? 这个验证有点垃圾,说实话,说实话啊,所以你在这里还得多加一些判断啊, 还得多加判断,如果说你按整个逻辑的话,你还考虑它验证失败的一个情况,我这个地方是没有做验证失败的一个处理啊。 形容词你看它这里的话会有问题 啊,如果说它是这样子的话做验证啊,那你这边的话还得分装啊。呃,分装整个验证的一个 啊,我们这里写一下啊, get 这个就会要多几个多几套逻辑啊。呃,这个 get 内容 if d p 点上 y 等等于什么呢?不等于不等于哪个呢?不等于它的时候啊,不等于它的时候啊。 获取它这个链接不等于它的时候我们需要干嘛呢?可以获取数据,否则的话啊,否则的话 我就 ten 一个。什么呢?那就是验证失败 重试, ok, 返回我们的一个状态啊。 will 等等于重试,那我们就接着进行验证啊,接着进行验证 它接着返回。对啊,直到什么呢? 直到这玩意等于一个什么呢?等于一个成功的时候,那我他妈的就跳出循环 break 这样子吗? 啊不是左是从上到下的,他要把整个识别出来, 那识别成功的话我们就直接获取数据啊。对啊,如果识别成功的话我们就正常获取数据,如果识别失败的话那我们就做做做重试啊。 所以你要多加一套逻辑,因为因为我们前面正常写是没有考虑他会失败的一个情况,就是我考虑正常能够识别成功,然后这样子正常获取。就如果说你要你还得考虑一个识别失败的,那这样的话就前些数据就采集出来了, 懂了吗?就你你得去考虑,因为因为我们在实际做做案例当中的话,他会遇到各种各样的一些情况,所以你得去去做各种各样的一些处理啊。 好吧,就你,你按到正常的话,就像这个是奖学金,但是如果他写了个金奖金,金学奖,但他是会有个失败,对不对?他失败的话,那我们得重新进行一个验证,所以我们要要在这个地方做一个重试。就判断什么呢?判断我们 就是我们验证完之后啊,我们验证完之后,点击确定之后,点击确定验证之后,我们这个链接还是不是他有没有变 啊?就骗他这个链接有没有变,因为如果说他链接没变的话,还是相当于是我们没验证成功,还是在这个页面当中,所以说我们得继续干嘛呢啊?所以我们得继续进行一个实现,直到他成功啊,成功了之后的话,我们就直接退出就行了,就把这个跳过就行了。 对,如果他是从事的话就一直连,如果说成功的话,那我们就跳出这个循环嘛,跳出这个循环,然后我们就直接走,走下一步嘛。对,走下一页嘛, 你像这种的话就会比较稍微,呃,要考虑的地方会多一些啊,因为你还得搞重连。