比居民和企业没钱更加严重的是,政府也没钱了,甚至可能财政重整

1

疫情冲击下,企业破产倒闭,居民降薪裁员生活困难, 早已经不是什么新闻

毕竟封城之下,企业停工停产,破产裁员,居民失业降薪,企业和居民陷入困境,很容易理解

但现在连政府也没钱了

有些地方,甚至连债都还不起了——只能启动财政重整

其实也不难理解,企业没有收入,居民没有收入,政府的税收自然就会减少。为应对疫情冲击,还要给企业和居民减免税费,政府的收入下降得更快。毕竟政府本身不直接创造财富,政府所有的收入都是从企业和居民那收来的各种税费。

 6月16日,财政部公布了2022年5月财政收支情况。财政部数据显示,1-5月累计,全国一般公共预算收入86739亿元,扣除留抵退税因素后增长2.9%,按自然口径计算下降10.1%。全国税收收入72459亿元,扣除留抵退税因素后增长1.4%,按自然口径计算下降13.6%

财政部数据显示,从财政收入看,扣除留抵退税因素后,5月份全国一般公共预算收入下降5.7%,降幅与4月份基本相当,按自然口径下降32.5%

不可否认的是,政府的财政收入的确在下降,财政压力已经非常严重

地方政府最大的一个收入来源,土地拍卖收入,也下降得非常厉害

1-5月,国有土地使用权出让收入18613亿元,比上年同期下降28.7%

土地收入大幅下降,那与土地相关的税费收入也大幅下降,财政部的数据可以看到,土地和房地产相关税收中,契税2341亿元,比上年同期下降28.1%;土地增值税3053亿元,比上年同期下降9.4%

大家来看看今年各地政府卖地收入,一片惨绿,全面下滑

比居民和企业没钱更加严重的是,政府也没钱了,甚至可能财政重整

除了深圳之外,各地政府卖地收入全部下滑,其中天津下降达91.29%,武汉下降88.52%,帝都北京都下滑了56.75%

比居民和企业没钱更加严重的是,政府也没钱了,甚至可能财政重整

这两年,税收下滑,加上卖地收入下滑,各地政府,也没钱了

政府财政,关系到政府运行、政策实施、民生保障,其重要性不言而喻

2

没钱了,怎么办

不管是企业,个人,还是政府,没钱了,只有两个办法:开源和节流

开源,就是增加税收,但在目前这种情况下,增加税收就别想了,企业和居民都等着救济呢

那剩下的办法只能是节流了

各地方政府要过紧日子了

有些地方事业编,公务员的年终奖已经降了,有些还没降

在财政收入下降的大背景下,削减公务员福利已经是“势在必行”,哪怕现在没降的,将来也肯定会降。因为没有别的办法,困难情况下只能同舟共济,一起渡过难关

比居民和企业没钱更加严重的是,政府也没钱了,甚至可能财政重整

刚刚,随手百度了一下公务员降薪,有1760万条信息

如果削减福利,还不能解决问题,那么下一步,可能就要精兵简政了

不知道那些疯狂考编,疯狂考公的人,等上岸后,发现自己每月所得,还不够考试的费用时,该做如何感想

还有那些体制内的,真精简到自己头上时,可有什么后手

在时代的冲击下,在疫情冲击下,没有什么是一定保险的,哪怕是体制内

所以才有千万人考公,也有人主动逃出体制

财政没钱,不仅仅影响体制内人员工资奖金,还影响大家的医保

本来医保就缺钱,疫情下有一部分还被拿来做核酸,医保就更缺钱了。医保缺钱,下一轮集采将更加猛烈,对医保资金的核查必将更加严格。接下来,肯定会严查医保套保,肯定会抓一批人。

据国家医保局官网消息,5月31日,国家医保局、财政部、国家卫生健康委、国家中医药局四部委发布《关于开展2022年度医疗保障基金飞行检查工作的通知医保函〔2022〕24号》(下称《通知》),开启2022年度医保基金飞行检查。

财政缺钱,还影响到基建投资,谁都知道基建投资可以拉动经济,但现在财政缺钱,必将影响到基建投资,也就影响到经济发展

财政缺钱,必将找各种办法回补,那些以前偷税漏税的,要小心了,平时政府睁一只眼闭一只眼,现在估计也要找回来了,这两年各地严查偷税漏税的新闻,不少吧。

财政缺钱,肯定想办法多卖点地,所以大家看到,这段时间,关于楼市的政策层出不穷,从地方到中央,从中央到央行,都在想尽一切办法刺激楼市,刺激房地产,想着拉动经济,想着多卖点地。所以刺激楼市的政策不会停止。

可以说,财政缺钱的一系列连锁反应刚刚开始,不管是对体制内人员,还是对普通老百姓,不管是对中国经济,还是对居民的收入,都会带来深刻的影响

 

3

短期内,财政紧张的局面不会得到根本的改变

1、经济下行压力很大,短期内仍未看到经济好转的迹象。经济没有变好,税收就上不来,税收上不来,财政紧张的日子难以结束

2、中小企业仍然需要救助,税费减免措施还得实行,经济落后地区的转移支付压力仍在

3、收入在下降,但很多刚性支出无法避免。比如核酸检测费用,抗疫物资费用,教师公务员基本工资等等

4、当前楼市持续低迷,居民收入下降,对房地产的预期仍保持悲观,房地产企业没有拿地的意愿,各地方政府的卖地收入仍然保持负增长态势

疫情当下,经济困难重重,不只是企业在负重前行,不仅是居民收入下降,现在政府的财政收入也在下降。企业、居民、政府都在过紧日子,而且在短期内仍然看不到改善的希望

 

有些地方政府,已经无力清偿到期债务了,甚至到了“准破产”状态,类似于企业的暴雷

 

去年12月28日,中国第一个地级市黑龙江鹤岗市宣布实施“财政重整”。
比居民和企业没钱更加严重的是,政府也没钱了,甚至可能财政重整

通告说白了,就是长期入不敷出,可能还不了债了

如果企业还不了债,大不了破产倒闭,但政府总是要运行吧,肯定不能破产倒闭,那就整个好听的名词吧——财政重整

但与企业破产不一样的是,地方政府财政重整后,债务可能由上级政府偿还,子债父偿

 

就如上图通告中所说的:相关本息或由省政府代偿

 

或由的意思是可能,可能还,也可能不还,可能由省政府还,可能用其他方式还

 

说白了,就是政府进入准“破产状态”

 

看到了吧,在疫情冲击下,不仅仅企业和居民破产裁员,降薪失业,连政府也没钱了

 

甚至有些地方政府也进入财政重整状态,进入“准破产”

 

大家且行且珍惜吧,现在唯一希望是疫情早点过去,经济可以早点重启。

疫情什么时候过去咱们不知道,经济什么时候能好转也不太清楚

那咱就做自己能做的吧

 

疫情什么时候结束、经济危机什么时候过去,这些咱都管不了。咱们做自己能做的吧:锻炼身体,学习知识,关心家人

好好锻炼身体,健健康康的,不但对自己好,对自己家人好,也为国家医保做了贡献,为国家财政做了贡献

祝大家健康

转自:https://mp.weixin.qq.com/s/0ZC9bN_4kUYw8ef70-hU2Q

抓取速度提升 3 倍!Python 的这个内置库你用上了吗?

从网站中抓取数据是开发者的一个典型“用例”。无论它是属于副业项目,还是你正在成立一个初创公司,抓取数据似乎都很有必要。

举个例子,倘若您想要创建一个比价网站,那么您会需要从各种电商网站上抓取价格信息;或者您想要构建一个可以识别商品并在亚马逊上自动查找价格的“人工智能”。类似的场景还有很多。

但是您有没有注意到,获取所有页面信息的速度有多慢呢?您会选择一个接一个地去抓取商品吗?应该会有更好的解决方案吧?答案是肯定的。

抓取网页可能非常耗时,因为您必须花时间等待服务器响应,抑或是速率受限。这就是为什么我们要向您展示如何通过在 Python 中使用并发来加速您的网页数据抓取项目

前提

为了使代码正常运行,您需要安装 python 3[1]。部分系统可能已经预装了它。然后您还需要使用 pip install 安装所有必要的库。

pip install requests beautifulsoup4 aiohttp numpy

如果您了解并发背后的基础知识,可以跳过理论部分直接进入实际操作环节。

并发

并发是一个术语,用于描述同时运行多个计算任务的能力。

当您按顺序向网站发出请求时,您可以选择一次发出一个请求并等待结果返回,然后再发出下一个请求。

不过,您也可以同时发送多个请求,并在它们返回时处理对应的结果,这种方式的速度提升效果是非常显著的。与顺序请求相比,并发请求无论是否并行运行(多个 CPU),都会比前者快得多 — 稍后会详细介绍。

要理解并发的优势。我们需要了解顺序处理和并发处理任务之间的区别。假设我们有五个任务,每个任务需要 10 秒才能完成。当按顺序处理它们时,完成五个任务所需的时间为 50 秒;而并发处理时,仅需要 10 秒即可完成。

抓取速度提升 3 倍!Python 的这个内置库你用上了吗?

除了提高处理速度之外,并发还允许我们通过将网页抓取任务负载分布于多个进程中,来实现在更短的时间内完成更多的工作。

这里有几种实现并行化请求的方式:例如 multiprocessingasyncio。从网页抓取的角度来看,我们可以使用这些库来并行处理对不同网站或同一网站不同页面的请求。在本文中,我们将重点关注 asyncio,这是一个 Python 内置的模块,它提供了使用协程编写单线程并发代码的基础设施。

由于并发意味着更复杂的系统和代码,因此在使用前请考虑在您的使用场景中是否利大于弊。

并发的优势

  • 在更短的时间内完成更多的工作
  • 可以将空闲的网络时间投入到其他请求中

并发的危险之处

  • 更不易于开发和调试
  • 可能存在竞争条件
  • 需要检查并使用线程安全的函数
  • 一不小心就会增加程序阻塞的概率
  • 并发自带系统开销,因此需要设置合理的并发级别
  • 针对小型站点请求过多的话,可能会变成 DDoS 攻击

抓取速度提升 3 倍!Python 的这个内置库你用上了吗?

 

*同时释放所有请求时要小心*

 

为何选择 asyncio

在做出选择之前,我们有必要了解一下 asynciomultiprocessing 之间的区别,以及 IO 密集型与 CPU 密集型之间的区别。

asyncio[2] “是一个使用 async/await 语法编写并发代码的库”,它在单个处理器上运行。

multiprocessing[3] “是一个支持使用 API 生产进程的包 […] 允许程序员充分利用给定机器上的多个处理器”。每个进程将在不同的 CPU 中启动自己的 Python 解释器。

IO 密集型意味着程序将受 I/O 影响而变得运行缓慢。在我们的案例中,主要指的是网络请求。

CPU 密集型意味着程序会由于 CPU 计算压力导致运行缓慢 — 例如数学计算。

为什么这会影响我们选择用于并发的库?因为并发成本的很大一部分是创建和维护线程/进程。对于 CPU 密集型问题,在不同的 CPU 中拥有多个进程将会提升效率。但对于 I/O 密集型的场景,情况可能并非如此。

由于网页数据抓取主要受 I/O 限制,因此我们选择了 asyncio。但如果有疑问(或只是为了好玩),您可以使用 multiprocessing 尝试这个场景并比较一下结果。

抓取速度提升 3 倍!Python 的这个内置库你用上了吗?

顺序实现的版本

我们将从抓取 scrapeme.live 作为示例开始,这是一个专门用于测试的电子商务网站。

首先,我们将从顺序抓取的版本开始。以下几个片段是所有案例的一部分,因此它们将保持不变。

通过访问目标主页,我们发现它有 48 个子页面。由于是测试环境,这些子页面不会很快发生变化,我们会使用到以下两个常量:

base_url = "https://scrapeme.live/shop/page" 
pages = range(149# max page (48) + 1

现在,从目标产品中提取基础数据。为此,我们使用 requests.get 获取 HTML 内容,然后使用 BeautifulSoup 解析它。我们将遍历每个产品并从中获取一些基本信息。所有选择器都来自对内容的手动审查(使用 DevTools),但为简洁起见,我们不会在这里详细介绍。

import requests 
from bs4 import BeautifulSoup 
 
def extract_details(page): 
 # concatenate page number to base URL 
 response = requests.get(f"{base_url}/{page}/"
 soup = BeautifulSoup(response.text, "html.parser"
 
 pokemon_list = [] 
 for pokemon in soup.select(".product"): # loop each product 
  pokemon_list.append({ 
   "id": pokemon.find(class_="add_to_cart_button").get("data-product_id"), 
   "name": pokemon.find("h2").text.strip(), 
   "price": pokemon.find(class_="price").text.strip(), 
   "url": pokemon.find(class_="woocommerce-loop-product__link").get("href"), 
  }) 
 return pokemon_list

extract_details 函数将获取一个页码并将其连接起来,用于创建子页面的 URL。获取内容并创建产品数组后返回。这意味着返回的值将是一个字典列表,这是一个后续使用的必要细节。

我们需要为每个页面运行上面的函数,获取所有结果,并存储它们。

import csv 
 
# modified to avoid running all the pages unintentionally 
pages = range(13
 
def store_results(list_of_lists): 
 pokemon_list = sum(list_of_lists, []) # flatten lists 
 
 with open("pokemon.csv""w"as pokemon_file: 
  # get dictionary keys for the CSV header 
  fieldnames = pokemon_list[0].keys() 
  file_writer = csv.DictWriter(pokemon_file, fieldnames=fieldnames) 
  file_writer.writeheader() 
  file_writer.writerows(pokemon_list) 
 
list_of_lists = [ 
 extract_details(page) 
 for page in pages 

store_results(list_of_lists)

运行上面的代码将获得两个产品页面,提取产品(总共 32 个),并将它们存储在一个名为 pokemon.csv 的 CSV 文件中。 store_results 函数不影响顺序或并行模式下的抓取。你可以跳过它。

由于结果是列表,我们必须将它们展平以允许 writerows 完成其工作。这就是为什么我们将变量命名为list_of_lists(即使它有点奇怪),只是为了提醒大家它不是扁平的。

输出 CSV 文件的示例:

id name price url
759 Bulbasaur £63.00 https://scrapeme.live/shop/Bulbasaur/
729 Ivysaur £87.00 https://scrapeme.live/shop/Ivysaur/
730 Venusaur £105.00 https://scrapeme.live/shop/Venusaur/
731 Charmander £48.00 https://scrapeme.live/shop/Charmander/
732 Charmeleon £165.00 https://scrapeme.live/shop/Charmeleon/

如果您要为每个页面 (48) 运行脚本,它将生成一个包含 755 个产品的 CSV 文件,并花费大约 30 秒。

time python script.py 
 
real 0m31,806s 
user 0m1,936s 
sys 0m0,073s

asyncio 介绍

我们知道我们可以做得更好。如果我们同时执行所有请求,它应该花费更少时间,对吧?也许会和执行最慢的请求所花费的时间相等。

并发确实应该运行得更快,但它也涉及一些开销。所以这不是线性的数学改进。

为此,我们将使用上面提到的 asyncio。它允许我们在事件循环中的同一个线程上运行多个任务(就像 Javascript 一样)。它将运行一个函数,并在运行时允许时将上下文切换到不同的上下文。在我们的例子中,HTTP 请求允许这种切换。

我们将开始看到一个 sleep 一秒钟的示例。并且脚本应该需要一秒钟才能运行。请注意,我们不能直接调用 main。我们需要让 asyncio 知道它是一个需要执行的异步函数。

import asyncio 
 
async def main(): 
 print("Hello ..."
 await asyncio.sleep(1
 print("... World!"
 
asyncio.run(main())
time python script.py 
Hello ... 
... World! 
 
real 0m1,054s 
user 0m0,045s 
sys 0m0,008s

简单的并行代码

接下来,我们将扩展一个示例案例来运行一百个函数。它们每个都会 sleep 一秒钟并打印一个文本。如果我们按顺序运行它们大约需要一百秒。使用 asyncio,只需要一秒!

这就是并发背后的力量。如前所述,对于纯 I/O 密集型任务,它将执行得更快 – sleep 不是,但它对示例很重要。

我们需要创建一个辅助函数,它会 sleep 一秒钟并打印一条消息。然后,我们编辑 main 以调用该函数一百次,并将每个调用存储在一个任务列表中。最后也是关键的部分是执行并等待所有任务完成。这就是 asyncio.gather[4] 所做的事情。

import asyncio 
 
async def demo_function(i): 
 await asyncio.sleep(1
 print(f"Hello {i}"
 
async def main(): 
 tasks = [ 
  demo_function(i) 
  for i in range(0100
 ] 
 await asyncio.gather(*tasks) 
 
asyncio.run(main())

正如预期的那样,一百条消息和一秒钟的执行时间。完美!

使用 asyncio 进行抓取

我们需要将这些知识应用于数据抓取。遵循的方法是同时请求并返回产品列表,并在所有请求完成后存储它们。每次请求后或者分批保存数据可能会更好,以避免实际情况下的数据丢失。

我们的第一次尝试不会有并发限制,所以使用时要小心。在使用数千个 URL 运行它的情况下……好吧,它几乎会同时执行所有这些请求。这可能会给服务器带来巨大的负载,并可能会损害您的计算机。

requests 不支持开箱即用的异步,因此我们将使用 aiohttp [5] 来避免复杂化。 requests 可以完成这项工作,并且没有实质性的性能差异。但是使用 aiohttp 代码更具可读性。

import asyncio 
import aiohttp 
from bs4 import BeautifulSoup 
 
async def extract_details(page, session): 
 # similar to requests.get but with a different syntax 
 async with session.get(f"{base_url}/{page}/"as response: 
 
  # notice that we must await the .text() function 
  soup = BeautifulSoup(await response.text(), "html.parser"
 
  # [...] same as before 
  return pokemon_list 
 
async def main(): 
 # create an aiohttp session and pass it to each function execution 
 async with aiohttp.ClientSession() as session: 
  tasks = [ 
   extract_details(page, session) 
   for page in pages 
  ] 
  list_of_lists = await asyncio.gather(*tasks) 
  store_results(list_of_lists) 
 
asyncio.run(main())

CSV 文件应该像以前一样包含每个产品的信息 (共 755 个)。由于我们同时执行所有页面调用,结果不会按顺序到达。如果我们将结果添加到 extract_details 内的文件中,它们可能是无序的。但我们会等待所有任务完成然后处理它们,因此顺序性不会有太大影响。

time python script.py 
 
real 0m11,442s 
user 0m1,332s 
sys 0m0,060s

我们做到了!速度提升了 3 倍,但是……不应该是 40 倍吗?没那么简单。许多因素都会影响性能(网络、CPU、RAM 等)。

在这个演示页面中,我们注意到当执行多个调用时,响应时间会变慢,这可能是设计使然。一些服务器/提供商可以限制并发请求的数量,以避免来自同一 IP 的过多流量。它不是一种阻塞,而是一个队列。你会得到服务响应,但需要稍等片刻。

要查看真正的加速,您可以针对延迟[6]页面进行测试。这是另一个测试页面,它将等待 2 秒然后返回响应。

base_url = "https://httpbin.org/delay/2" 
#... 
 
async def extract_details(page, session): 
 async with session.get(base_url) as response: 
  #...

这里去掉了所有的提取和存储逻辑,只调用了延迟 URL 48 次,并在 3 秒内运行完毕。

time python script.py 
 
real 0m2,865s 
user 0m0,245s 
sys 0m0,031s

使用信号量限制并发

如上所述,我们应该限制并发请求的数量,尤其是针对单个域名。

asyncio 带有 Semaphore[7],一个将获取和释放锁的对象。它的内部功能将阻塞一些调用,直到获得锁,从而创建最大的并发性。

我们需要创建尽可能最大值的信号量。然后等待提取函数运行,直到 async with sem 可用。

max_concurrency = 3 
sem = asyncio.Semaphore(max_concurrency) 
 
async def extract_details(page, session): 
 async with sem: # semaphore limits num of simultaneous downloads 
  async with session.get(f"{base_url}/{page}/"as response: 
   # ... 
 
async def main(): 
  # ... 
 
loop = asyncio.get_event_loop() 
loop.run_until_complete(main())

它完成了工作,并且相对容易实现!这是最大并发设置为 3 的输出。

time python script.py 
 
real 0m13,062s 
user 0m1,455s 
sys 0m0,047s

这表明无限并发的版本并没有全速运行。如果我们将限制增加到 10,总时间与未限制的脚本运行时间相近。

使用 TCPConnector 限制并发

aiohttp 提供了一种替代解决方案,可提供进一步的配置。我们可以创建传入自定义 TCPConnector[8] 的客户端会话。

我们可以使用两个适合我们需求的参数来构建它:

  • limit – “同时连接的总数”。
  • limit_per_host – “限制同时连接到同一端点的连接数”(同一主机、端口和 is_ssl)。
max_concurrency = 10 
max_concurrency_per_host = 3 
 
async def main(): 
 connector = aiohttp.TCPConnector(limit=max_concurrency, limit_per_host=max_concurrency_per_host) 
 async with aiohttp.ClientSession(connector=connector) as session: 
  # ... 
 
asyncio.run(main())

这种写法也易于实施和维护!这是每个主机最大并发设置为 3 的输出。

time python script.py 
 
real 0m16,188s 
user 0m1,311s 
sys 0m0,065s

Semaphore 相比的优势是可以选择限制每个域的并发调用和请求的总量。我们可以使用同一个会话来抓取不同的站点,每个站点都有自己的限制。

缺点是它看起来有点慢。需要针对真实案例,使用更多页面和实际数据运行一些测试。

multiprocessing

就像我们之前看到的那样,数据抓取是 I/O 密集型的。但是,如果我们需要将它与一些 CPU 密集型计算混合怎么办?为了测试这种情况,我们将使用一个函数,该函数将在每个抓取的页面之后 count_a_lot。这是强制 CPU 忙碌一段时间的简单(且有些愚蠢)的方法。

def count_a_lot(): 
 count_to = 100_000_000 
 counter = 0 
 while counter < count_to: 
  counter = counter + 1 
 
async def extract_details(page, session): 
 async with session.get(f"{base_url}/{page}/"as response: 
  # ... 
  count_a_lot() 
  return pokemon_list

对于 asyncio 版本,只需像以前一样运行它。可能需要很长时间⏳。

time python script.py 
 
real 2m37,827s 
user 2m35,586s 
sys 0m0,244s

现在,比较难理解的部分来了:

直接引入 multiprocessing 看起来有点困难。实际上,我们需要创建一个 ProcessPoolExecutor,它能够“使用一个进程池来异步执行调用”。它将处理不同 CPU 中每个进程的创建和控制

但它不会分配负载。为此,我们将使用 NumPyarray_split,它会根据 CPU 的数量将页面范围分割成相等的块。

main 函数的其余部分类似于 asyncio 版本,但更改了一些语法以匹配 multiprocessing 的语法风格。

此处的本质区别是我们不会直接调用extract_details。实际上是可以的,但我们将尝试通过将 multiprocessingasyncio 混合使用来获得最好的执行效率。

from concurrent.futures import ProcessPoolExecutor 
from multiprocessing import cpu_count 
import numpy as np 
 
num_cores = cpu_count() # number of CPU cores 
 
def main(): 
 executor = ProcessPoolExecutor(max_workers=num_cores) 
 tasks = [ 
  executor.submit(asyncio_wrapper, pages_for_task) 
  for pages_for_task in np.array_split(pages, num_cores) 
 ] 
 doneTasks, _ = concurrent.futures.wait(tasks) 
 
 results = [ 
  item.result() 
  for item in doneTasks 
 ] 
 store_results(results) 
 
main()

长话短说,每个 CPU 进程都会有几页需要抓取。一共有 48 个页面,假设你的机器有 8 个 CPU,每个进程将请求 6 个页面(6 * 8 = 48)。

这六个页面将同时运行!之后,计算将不得不等待,因为它们是 CPU 密集型的。但是我们有很多 CPU,所以它们应该比纯 asyncio 版本运行得更快。

async def extract_details_task(pages_for_task): 
 async with aiohttp.ClientSession() as session: 
  tasks = [ 
   extract_details(page, session) 
   for page in pages_for_task 
  ] 
  list_of_lists = await asyncio.gather(*tasks) 
  return sum(list_of_lists, []) 
 
 
def asyncio_wrapper(pages_for_task): 
 return asyncio.run(extract_details_task(pages_for_task))

这就是神奇的地方。每个 CPU 进程将使用页面的子集启动一个 asyncio(例如,第一个页面从 1 到 6)。

然后,每一个都将调用几个 URL,使用已知的 extract_details 函数。

上述内容需要花点时间来吸收它。整个过程是这样的:

  1. 创建执行器
  2. 拆分页面
  3. 每个进程启动 asyncio
  4. 创建一个 aiohttp 会话并创建页面子集的任务
  5. 提取每一页的数据
  6. 合并并存储结果

下面是本次的执行时间。虽然之前我们没有提到它,但这里的 user 时间却很显眼。对于仅运行 asyncio 的脚本:

time python script.py 
 
real 2m37,827s 
user 2m35,586s 
sys 0m0,244s

具有 asyncio 和多个进程的版本:

time python script.py 
 
real 0m38,048s 
user 3m3,147s 
sys 0m0,532s

发现区别了吗?实际运行时间方面第一个用了两分钟多,第二个用了 40 秒。但是在总 CPU 时间(user 时间)中,第二个超过了三分钟!看起来系统开销的耗时确实有点多。

这表明并行处理“浪费”了更多时间,但程序是提前完成的。显然,您在决定选择哪种方法时,需要考虑到开发和调试的复杂度。

结论

我们已经看到 asyncio 足以用于抓取,因为大部分运行时间都用于网络请求,这种场景属于 I/O 密集型并且适用于单核中的并发处理。

如果收集的数据需要一些 CPU 密集型工作,这种情况就会改变。虽然有关计数的例子有一点愚蠢,但至少你理解了这种场景。

在大多数情况下,带有 aiohttpasyncio 比异步的 requests 更适合完成目标工作。同时我们可以添加自定义连接器以限制每个域名的请求数、并发请求总数。有了这三个部分,您就可以开始构建一个可以扩展的数据抓取程序了。

另一个重要的部分是允许新的 URL/任务加入程序运行(类似于队列),但这是另一篇文章的内容。敬请关注!

参考资料

[1]

 

python 3: https://www.python.org/downloads/

[2]

asyncio: https://docs.python.org/3/library/asyncio.html

[3]

multiprocessing: https://docs.python.org/3/library/multiprocessing.html

[4]

asyncio.gather: https://docs.python.org/3/library/asyncio-task.html#asyncio.gather

[5]

aiohttp: https://docs.aiohttp.org/

[6]

延迟: https://httpbin.org/delay/2

[7]

Semaphore: https://docs.python.org/3/library/asyncio-sync.html#asyncio.Semaphore

[8]

TCPConnector: https://docs.aiohttp.org/en/stable/client_reference.html#tcpconnector

[9]

参考原文: https://www.zenrows.com/blog/speed-up-web-scraping-with-concurrency-in-python

 

 

– EOF –

 

转自:https://mp.weixin.qq.com/s/pPpc7CH4Rr9WTa4p8ue2Iw

python-office库

1行代码,生成动漫头像

听说某宝需要50块钱一张?别再去交智商税了!

1. 安装python-office

安装很简单,在有python环境的电脑上,只需要执行下面这一行命令。

“ 如果你之前使用过python-office这个库,也需要执行一下,可以下载到最新版本~

安装

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-office -U

如果你的电脑里还没有安装python环境,可以看一下下面这个6分钟的傻瓜式安装教程,有电脑就能操作~

作者:程序员晚枫
链接:https://zhuanlan.zhihu.com/p/531681488
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2. 生成动漫头像

直接上代码!

代码

# 导入这个库:python-office,简写为office
import office

# 1行代码,实现 人像转动漫头像
office.image.img2Cartoon(path = 'd://image//程序员晚枫.jpg')

# 参数说明:
# path:存放自己真人照片的位置 + PDF的文件名,例如:d://image//程序员晚枫.pdf

直接运行以上代码,就会得到一张转化后的动漫头像了。

“ 程序可能需要运行20秒左右。

3.全部功能

1行代码实现复杂功能,是不是使用起来很方便?

“ 项目已被收录进【开源中国】、【Python官网】等平台,所有功能,免费给大家使用:GitHub

4. python-office库,近期添加的功能

人生不浪费指南

 
人生不浪费,是一种幸运,人生不浪费指南,其实就是让你的人生一路顺遂,这样的人有吗?有的,这样的人我们叫他幸运儿。
一听到幸运,很多人就打退堂鼓,幸运确实是不能复制的,但是幸运是可以学习的。

 

 

 

人生不浪费指南

 

你是不可能不浪费的,你的任何一个时间都不可能说,是完全不浪费的。
就像我本来和我儿子说好了,让他跟小朋友去玩儿,我要做一个直播,但刚开播,他忽然就给我来了一个回马枪,让我去给他开门。
 
你永远无法预料你的人生中会有一个什么样的人,在什么时间跟你出一个幺蛾子。像我儿子每天都在给我出幺蛾子,我每天都想不到。
 
人生就是阿甘他妈的巧克力盒,你永远不知道下一个巧克力是什么口味的。
所以我们的人生是没有彩排的,每天都是现场直播,你来了,你就得接着。
你的人生就像几十年前的3D电影一样,它不好看,为什么不好看呢?它要想刺激观众,怎么刺激观众呢?上来对着屏幕给你扔飞刀。
大家看过《十面埋伏》没有,这部电影里,金城武、章子怡、刘德华三个美女帅哥最擅长的是什么?在屏幕里冲着观众扔飞刀。因为那时候3D技术不先进,国外是冲着观众打枪,我们是扔飞刀,让你看电影的时候,一直觉得有人要扎你,于是你就投入了。
很真实,像极了我们的生活,我们的生活是什么样呢?
是每天都有人在冲你扔飞刀,你还要把每一个飞刀都接住,而且还要顺手再扔回去,这就是一个人的生活。每一个飞刀都不能丢,你父母给你扔过来的,你亲丈母娘给你扔过来的,你亲老岳父扔过来的,还有你孩子扔过来的,你如果要二胎,还有人居然胆大敢要三胎,二胎、三胎给你扔过来的,什么事都有,你每个都得接住。
你说你丢哪个?你能把你岳父的这个刀给丢了吗?刀直接就砸你了,这是很正常的一件事情,你老婆的刀就更不能丢了,任何一件事,你都得耍起来,这就是我们成年人面对的人生。
开始你可能面对的只是女朋友,可能只是一份工作,后来你开始有副业,你的事情越来越多,你的这个人本身也会变得越来越复杂。
那么,你怎么把你手上的每一把刀都耍好,其实就是你的人生不浪费指南。
我觉得你一定要分清楚。
人生不浪费指南
苏东坡给他儿子写的一首诗:「人皆养子望聪明,我被聪明误一生。惟愿孩儿愚且鲁,无灾无病到公卿。」
什么叫人生不浪费?就是你一生无忧无虑,能当公卿这样的高官,一品、二品、三品这样的高官,你想做就做了,这叫人生不浪费,这叫人生一路顺遂,但是实际上能不能做到呢?
是一个美好的愿望,但实际上呢,其实是很难做到的。
我们都希望人生变得幸运一点,但是,怎么变得幸运一点?
首先我们要分清楚你的人生什么是顺遂,什么是不顺。
比如说我在直播时,我儿子喊我给他开门,这个是不是叫不顺?我觉得这个不能叫不顺,这是一个很正常的意外,你永远无法预料到的事情,随着你身边的人越来越越多,每个人都会给你一个意外,每个人都会给你一个惊喜,这是不是叫不顺呢?这不能叫不顺。
但是,很多人就是被这种事情弄得抓狂了,但是实际上这种问题是本身自己的情绪造成的,不是你的人生造成的,也不是命运对你不公,命运薄待你。你一定要记住,其实这时候我只要做一件事儿,往后退一步,去把这个直播暂时停掉,去给他开门,问题就解决了。
这个不叫不顺,这个叫退阶
 
 
不知道大家有没有健身的经历,有一本书可能很多做自然健身,尤其是做自重健身的,都听说过,叫《囚徒健身》,很多人诟病这个书,但是我觉得这本书实际上可以看一看。
《囚徒健身》有一个概念,就是退阶。不知道大家有没有做过引体向上,尤其是体重大的同学,做引体向上非常非常难,尤其是如果做正手引体向上的话,非常非常难,做一个都做不了。
那么这时候你要先做什么?正手做不了,就先做反手,先做一个退阶的动作,如果反手还做不了,做什么?找一个平面的桌子或者是平面的有杠的东西,做一个折刀引体向上,如果一个折刀引体向上都做不了,做一个半程折刀引体向上,总之,向上的路虽然紧锁着,向下的路却一路为你敞开。
人生无难事,只要肯退步,但是这里的退阶,并不是真的退步,是你做半程折刀做得多了,就可以做折刀引体,折刀做得多了,做反手,反手做多了,做正手,经历了四五个台阶的进阶,终于,开始挑战你原来以为比登天还难的难度了。
退阶之后然后再进阶。
先过一点低配的人生。
我们人生也是这样,大家可能一说上大学就想上985,甚至说想上海外的常青藤名校,但实际上上不了,我们不是总能达到人生的目标的,上不了怎么办,先退阶,先过一种相对来说低配的人生。
很多人一毕业就想去阿里、想去腾讯、想拿年薪百万,但是实际上进不了,年薪百万拿不了,月薪3万、4万都拿不了,那怎么办呢?
我们先进到互联网这个行业,先从低阶的开始做起,先从一个小的网络公司开始做起,等积累了一定经验,学了一点东西以后,再逐渐的进入到中型的企业,中型的企业万一被阿里收购了,被腾讯收购了呢,这是前几年经常有的事,整个项目组被挖了,然后就可以进入大厂,从大厂再升职,这就是先过一个相对来说低配的人生。
以前有一句话「我们不要过低配的人生」,你要是这种想法的话,其实非常容易尴尬,因为万一你暂时还过不起高配的人生,暂时过上这种低配的人生,你受不了你心态崩了,那就完了。
人生不浪费指南
所以有些不顺,不是不顺,它只是暂时让你过一个低配的人生,暂时让你退阶,你做完这件事,才能做那件事,我先关上直播,先给孩子开个门,然后我才能去做直播,这个事情看起来其实跟你的计划是完全打乱了,这都没有关系。但是,实际上你不去做这件事,就丢失了你自己人生的一把飞刀,丢失了你人生的一个球,你玩不转了,原来完6个球,现在玩5个球,玩5个球肯定简单,但是你的孩子、你的家庭没了,这就不对了。
所以有些事情,不是不顺,是做一些事情的必然性。
 
 
还有人一毕业就想创业,但是你其实什么都不懂,你不懂这个行业,如果拿自己的钱去创业,那基本上就是来打水漂的,来逗这个世界玩的,所以你要先去企业多做几年,跟这个世界进行一个磨合,但是有些人他就是磨合不了,觉得自己每天被压榨痛不欲生,这就是你自己需要调整的心态,这不是社会的问题,这是你自己心态的问题,所以这种不顺,不是不顺,如果连这种坎都过不了,那你的人生一定会不顺遂。
 
因为首先你自己在心态上就已经崩了,所以什么是不顺遂呢?我认为是不幸运,就是说你人生中的几个关键的节点,几个关键的事情你都做错了,找老婆找错了、嫁对象嫁错了,或者你人生遭遇了重大的不幸,比如说你吃烧烤,被人捅了,或者开车忽然出车祸了,这种叫不幸,这种叫不顺遂,几个人生重大的问题,你的健康、事业、婚姻,你的家庭或者你的下一代遭遇了重大的打击,这叫不幸,这叫不顺遂。如果不是这样的问题,不叫不顺遂。
人生不浪费指南
 
 
 
所以,怎么让你的人生一路顺遂,怎么做一个一路顺遂的人,或者说一路顺遂的人,他的人生中都有哪些特征?
 
 
第一点,一定要远离不幸的人。
什么叫不幸的人呢?首先,从我个人经验出发,我特别怕一种人,就是情绪不稳定的人。
如果这个人情绪不稳定,不管是你的同事也好,你的朋友也好,甚至说我们做自媒体的每天面对很多人,可以说我一个星期、一个月遇到的人比你一年在现实中遇到的人可能都多,各种过来给你发泄负能量的人,这种人一遇到就立刻要远离,甚至不用让他进入到你的粉丝圈,评论区都不行,就更不用说在人生中,选择跟他成为夫妻、成为朋友、成为同事了。
这种人,他是一定会消耗你的。应对这种人我的经验就是,只要发现他有任何情绪的不对劲,有任何负面情绪的苗头,立刻远离,远离这种不幸的人。
一定不要有看一下奇葩的这种心态,很多人就是喜欢看一看这个奇葩,去看看他到底怎么回事,喜欢做一个旁观者,喜欢凑个热闹,甚至说喜欢拍下来给这种人发一下朋友圈。
永远不要,遇到这种人立刻远离,第一时间远离。这种人他是一定会出问题的,我在现实中和网络上都遇到过这样的人,有个人跟我说,网络上有一个大V,对他进行监控,总是去人肉搜索他,还有现实中遇到这样的人,说隔壁桌的男的总是看她,垂涎她的美貌,但其实根本就没有人看她,这样的人我现在遇到了我第一时间会拉黑,即使说在生活中你不能有拉黑这么一个动作,你在心理上要给他拉黑,你要知道这个人,他是一个麻烦,他一定会出麻烦的。
还有一种就是,悲观的人。
我以前有一个同事就是这样的,那时候还没有雾霾,沙尘暴比较厉害,他遇到沙尘暴,就会说「好了,世界末日来了」,或者说遇到人倒霉了,他就会说「这个人遭报应了吧,他以前做过什么事啊,这就是他的报应」,他一直在幸灾乐祸,永远悲观,永远觉得世界欠他的,他总是会用这样心态去看问题。他对这个公司,也是悲观的,「这公司老板怎么怎么不好,这个政策怎么不好,你看都不听我的,出事了吧。
 
他永远是这样一种心理,一看有什么倒霉的事发生,就是乌鸦嘴,而且心态很不好,而且后来我发现,他为什么心态不好呢?因为他自己家境其实非常令人同情,家境非常贫寒,自己就对这个社会有怨气,他这种怨气,不自觉地带到各种事情中,不自觉地就悲观。
同样发一个东西,他就总认为自己的东西是不好的,可能他就觉得这个坎过不去了,就好像别人都在针对他,财务在针对他、人事在针对他、管理层都在针对他。
这种人一定远离,这种人,即使他不幸,也有一部分是他自己的原因。
而且你往往会发现他这种总是悲观、爱抱怨的人,他会给你带来各种麻烦,因为他自己的人生中很多麻烦。
还有现实中,咱们看过很多恶性的事件,我一直说一件事,就是瓜田李下,有那些嫌疑之地,你要赶紧躲开,君子不立于危墙之下,这种危险是不是一定发生,不一定。但是,作为一个对自己的人生有规划的人,你想往上走一点,你想让你自己的人生顺顺利利的,你不要去做这些事情,你要管住自己的喜好。
当然,你可以寄希望于这个社会安全,寄希望于你的足够幸运,但是不要把自己置于这种危险的境地,远离那些不对劲的人,尽量远离的那些不对劲的事儿。
人生不浪费指南

顺利的人,有什么特征?

轻装前进、快速通过。

我其实一直在强调一个概念,你能够快速通过的,要快速通过。

 

我本身也是出生小地方,出生在三四线城市,我们这些小地方的人,有一个什么特征呢?就是我们特别看重硬气,什么事我都硬来,靠我自己的实力来,我们都是直男,纯粹的钢铁直男。靠父母,对不起,我们觉得不硬气,走弯路我们不硬气,我们要靠什么?要靠自己的硬实力。

比如说高考,我们就认高考,高考还就认两个学科,理科就是物理,文科就是中文,考不上觉得天都塌了;比如工作,我们就认公务员,而且一定要考上去的,不能走后门,我们很多人都有这种心理。

我年轻的时候,其实特别特别直,就是这种心理,所有的走弯路走捷径都看不上,不正义,我是天秤座的,听起来有点玄学,但是我天生就是喜欢公平,就是看见不平的,一定想着要拉平。

我讲一个案例,我高中的时候碰见了一个同学,他到郑州去上郑州外国语学校,当时我爸就跟我提了一嘴,说你要不要也上这个郑州外国语学校。因为我当时成绩还可以,我中考,严格来说是我们整个市第一名,加上体育的话,就是第一名,不加体育,可能比第一名差0.5还是一分,反正就是前三的这么一个水平。

当时我爸就问我,你要不要也去,然后我就说不用,我去哪儿都可以保证我上985。当然咱那时候更狂,说的不是上985,说的是去哪儿都可以上清华,当时就这么一种想法。我们这个地方每年考上清华的就一个,每年考上北大的也就一个,稍微有一点意外,你就可能考不上清华,考不上北大。

而这种意外就是发生了,但是我那个上郑州外国语学校的同学,他后来直接去了美国的一个州立大学,可是等到我上了一个985,上了四年的本科出来后。比如说我想去国外留学的时候,我面临一个问题,我甚至上不了他高中毕业以后,就可以去的那个州立大学。

这就是一个现实,相当于他就走了一个捷径,走了一个快速通过的路子,然后他就比你快很多。

我们很多人都知道,走路要架桥。但是实际上很多人有一个偏执就是,我走路要硬走,但是,你完全可以造一个桥,甚至你有一个热气球的话,完全也可以飞过去。

不是说国外就有多好,或者说不是一定要去做什么,我并不认为人生上了清华或者藤校就能怎样。

而是说一个人生思路,在你可以绕过,可以走捷径的时候,这不是不正义不是不正当,你不要偏执,一定要想着怎么快速通过,怎么快速把这个事情给过去。

像高考,你如果看清楚了以后,它就是一个游戏,包括你进入社会后找工作,你看透了以后它就是游戏,比如说你父母可以给你介绍一个特别好的工作,你不借用人脉吗?

我们前几年说过,现在找工作靠什么?靠拼爹,你有好的父母,你非要说你不用,当然现在这样的人很少了,但是实际上就是你有捷径就要走,你要有牛刀杀鸡的气魄,杀鸡的时候,就要用牛刀,把这个鸡杀了了事,赶紧走下一步。

我们人生是一个阶段一个阶段的,你过了这个阶段,你总想在这个地方刷到第一,是没有意义的,其实,你刷到第一,你高考用十年的时间刷到750分,这没有意义。

你要用十年的时间,研究通一个行业,这是有意义的,但是你要是说在一个游戏里面把它刷到100分,刷到满分没有意义,你刷到满分的这个时间,你可以玩很多很多游戏了。

你能快速通过的时候,一定要快速通过。

我社群里有学员问我个问题,如果30万可以上清华,要不要上?

我给他的回答是什么?愿意花30万上清华的人,一定能够把这30万挣回来,觉得30万上清华贵的同学,那么你就要承受上不了清华的代价。

知乎上的类似问题,给你100w和上清华北大,你怎么选?不少人都选择,我先拿100w,明年再来复读考上清华。

都是屌丝思维。

什么意思呢?就是你能够用30万去买到一个快速通行的通行证,那么你一定要买,因为你以后会发现,你要再补回来这么一个通行证很难。

但是,所有掏不起30万的人,觉得30万很多的人,即使上了清华也没有用。对于有些人来说,清华或者北大,可能就是一个985,就是一个符号,但是,有些人可以用这么一个符号把它玩出花来。

而且你要知道,能够拿30w出来的人,如果你是小地方的一个千万富豪,你的孩子学习不好,上不了985,上不了国内的名校,那么对你来说,对你的个人品牌都是一个伤害。如果你的孩子连一个好的学校都上不了,说明:第一,你孩子确实不中用。这对你这个孩子的伤害,对你这个家族的伤害,是非常非常大的。第二,你确实也没人脉。我要找你借钱或者你要找我借钱,我都要考虑考虑,你的背景到底行不行,你说你其他的这些背景,这就相当于现在说的排面,你连个排面都没有。

同样一个普通家庭的人,即使你花了30万上清华,结果出来以后,比如说到了今天他要去考城管,要去当老师,那么上清华的意义对他确实不大,那当时不如去买一套房,在十几年前,30万块确实可以在北京快买一套房了,如果当时你能在北京买一套房,绝对比你上清华强,对他来说,上清华、上北大就是没用,上985没用,你反正是出来要当城管的,那就完全没有用。

但是同样有些人可以借这个名号触发各种可能性。这就是咱们要说的第二点,你要怎么人生顺遂?你能不能快速通过到这个事情上,有些关口,有些难关,你不要总想内卷,所有想要内卷的人,他的人生都不可能太顺遂,所有你想要内卷的人,他的人生都不可能太顺遂。

因为一旦你想内卷,你会发现你的人生会走到磕磕绊绊,所以想办法去快速通过这个游戏,一定要想办法去快速通过。

内卷就是什么,内卷就是很多人都在竞争一件事情,有一万人、十万人去竞争,这就叫内卷。一旦你陷入内卷了以后,你会发现什么?有的是聪明的脑瓜,像中国这个地方,有的是聪明的脑瓜,千万不要觉得就自己很聪明,自己很厉害,在中国这个地方,不管他上二本也好、三本也好,甚至是上大专或者高中都没毕业,他的智商、他的生活经验都是够用的,你未必能整过那些人家没有上过大学的人。

人家智商都是可以的,生存智慧都是有的,这是内卷的一个必然的情况,你说我考大学可能不如你,那我排队要插队,还能不如你?一个车翻了,我抢西瓜还能比你慢?

没有这样的人,这是一个基本的生存智慧。

我们都有先天的一个生存本能,有一个先天的嗅觉。你接触过这些人就知道,那些没有上过大学的,干木匠、开挖掘机、颠大勺的人不见得智商比你差,所以千万不要看不起别人,在生存面前,你一旦去跟人家在同一个平台竞争,你未必竞争的过人家,要相信这一点,不要陷入内卷,能够竞争的时候去竞争。

现在考公的、考教师编制的多,但你未必就考得过那些当初上三本、上二本甚至上专科的这些同学,博士也不见得就考得过上二本的同学,只要大家在一个门槛上竞争,都去刷题,还真不见得,你考的分数就最高。

擅长考试的人,中国多的是,或者说你花两个月,人家花两年、三年去准备这样一个考试,那未必见得比你差,所以这时候能够快速通过就快速通过。这不是说教你造假,也不是说教你走后门,而是说我们这个社会相对来说,是一个本身竞争力度就很强的社会。那么你在这个社会里,你能够快速通过,进去了就进去了。

也同样给学历低的同学一个启示,你进去以后,你在里面还真不见得就干不过那些博士、硕士,不要把自己给吓住了,那些硕士博士,真的进到一个游戏内,真的进到一个什么单位不见得干得过你,如果说真的是纯粹的技术岗位,可能就高学历确实有高优势,但是大部分岗位其实真的不见得你学历低,就是劣势。

人生不浪费指南
 
 
 
第三点就是,别给自己留污点
这种污点是什么?就像刚才我们说的重大的残疾、重大的缺陷是一样的,你不要在人生中,给你道德品质上给你留一个足够让人黑的污点。比如说你在体制内,最好在很年轻的时候,不要给别人留下一个可能爱钱的印象,不要留下这种污点。
或者在择偶的场景下,女生就不要留下嫌贫爱富的印象,男生就不要留下好色的印象,不要给别人留下自己的欲望管控不了的一个印象,这非常非常影响你的发展。
其实人走到一定程度,你到中年或者说更大一点,你会发现什么呢?走得顺的人,为什么会走得顺?他的人生没有污点,没有明显的大的污点,没有人可以找到攻击他的点,我们是一个高度竞争的社会,如果你的人生中有污点,你有一个让人家可以抓住的一个把柄,那么,一定会有人搞你。
大家可以看我前段时间说过那个深圳劳斯莱斯和宾利相撞的事情,就是这个书记一定会给他将来的仕途,造成一个不可估量的损失,为什么?因为人总有对手,这次搞不定你,下一次他会不搞你吗?下一次你跟别人竞一个岗位的时候,因为人总要往上走的,你想往上走的时候,这时候选什么人?
大家知道所有的上级最怕的是一种什么人吗?最怕的是麻烦的人,即使说我愿意用你,愿意提拔你,愿意把你当成自己人,但是你有这么大的一个污点,我能不能用?一定不能。因为我怕我自己都受影响,我用这么一个人,那么我是一个什么人?
比如说体制内最喜欢的是什么?大家最想的就是当官,往上走。但是,同时也怕什么,也怕往下走,这有一个安全性的问题,世界上任何事情都是有两面性的。
我要做生意,我要跟人合作,你喜欢跟这样一个人,跟这样一个麻烦的人合作吗?他有很多对头,他有一个开劳斯莱斯的对头,他还在自己的生意场上有很多麻烦对头,那我愿意跟他合作吗?即使他的产品很好,即使他能给我很多帮助,但是我跟他合作,我有很多这种潜在的风险。那么,我敢跟他合作吗?我会不会很麻烦?
他有一个安全性的问题,比如说我见识过以前我们同样做自媒体行业的,有些人有些毛病。
我们俗话说,喜欢装大哥,他喜欢要一个虚名,喜欢别人尊敬他喜欢摆架子,别人不尊敬他,对他看不起就很不爽。这种人就无形中得罪了很多人。
这种人,你要是跟他整在一起,那么,别人对你的看法也会变了,刚才我说了,那种麻烦的人,或者说你自己本身是有这么多毛病,你本身就是一个盛气凌人的人。那么结果就是无形中,就有很多人搞你,可能说大家一路顺遂的时候,所有人都很顺的时候,没有人搞你,你好,我好,大家好,你赚钱,我赚钱,没有人在这个时候给你使绊子。
但是,一旦生活有任何的问题,或者说一旦我自己的事业也受阻了,可能就会想搞一搞人,很多人就是这种想法,你在无形中得罪的人就会想把你拉下来,我上不去,但是我把你拉下来,我也是很爽的。
我本身没有这种心理,但世界上有这种心理的人多的是,人性就是这样,所以你一旦遇到这种问题,你就很难快速通过,你就很难遇到让你做的顺利的一件事,甚至是不用快速通过了,正常的升迁,正常的合作,都发现处处有人给你撤招
我遇到过一个特别好的人,就是头部一个号,我们在一起合作的时候,非常愉快,那时候公号互推,对方就是反复的确定文案,甚至帮你改文案,他觉得这样推可能对你涨粉的效果更好,而且改的方向确实是更有利于我的。
跟这样的人你会发现非常非常好合作,你会发现他的成功,不是偶然的。
这就是我们经常说的一句话,「活该这个人有钱」,什么叫活该这个人有钱?
他做的很到位,他做的让你心里很舒服,你就希望帮他成功,甚至说互推到最后变成什么呢?觉得人家这么大一个号还亲自来跟你对接,你会觉得有亏欠,觉得我占你便宜了,所有时时刻刻让别人觉得占了你一点小便宜,永远让别人欠他人情的人,这种人,一定会成功的。
中国是一个人情社会,你欠人家一点小人情,你说这点小人情能有什么,但是,你觉得欠他,你以后要还给他的,以后要给他的,肯定要比这一点小人情要多得多得多。这就是很自然的事儿,他有这么多人欠他人情,所以就不愁没有办法成功,他就有这个行业的一个影响力。
这就是我觉得顺遂的人的一个特点,就是他做的已经是非常非常到位了,你完全挑不出毛病来。这就是没有污点的人,完美的人。
 
我那时候做影视推文比较多,还跟某一个明星合作过,他当时就是导演了一个电影,我当时给他推。
当时我的号不是影视类头部的号,但是写那篇文章时做到了,比很多专业的影视号的阅读量还高,同类推文最高,然后,因为当时那篇文章写得特别好,就有很多影视大号来转载,这种转载是免费的转载,也就是说他只付给了我这个稿子的推广费,结果造成了一个实际上可能是十倍、百倍的效果,等于帮他白嫖了很多流量,带来了很多电影的自来水。
然后他当时就是觉得这个事情非常好,还通过他的助理亲自找到我,跟我说感谢。
其实本身的话,当时推广出来这么好的效果我也意想不到。其实他完全可以不做这个事,但是,这个明星做得非常非常好,情商特别高,
他的电影效果很好,真的是人家红是应该的,人家有钱是应该的。这么多年,看很多明星倒了,但是,他的事业一直在往健康的方向发展,一直往上发展,你就知道他肯定在日常中,积累了很多很多的人脉,导演、制片人、投资方、还有宣发。
所以,为什么有些明星能从演员、歌星转成制片人、制作人,有些人就不行,当然很多明星可能本身就是富二代,甚至都没有办法成为资本。差距在哪里?其实并不一定是他对艺术的理解就有多高,更多的可能其实差的就是一个人脉。
我一直说一件事就是,你有一个关键的人,你可以做一个关键的事,当时我认识了这位顶级明星后,就接了很多影视圈的大单,也因为他赚了不少钱。
这就是格局。我们说一个特别俗的词就是「格局」,大家都看到了一个更大的未来,所以这样的人,他有钱是应该的,这样的人赚钱也是应该的。
我觉得从这些人身上,你学到的是什么呢?你学到的不仅仅是赚到钱,学到的更是一种处事的态度。
这就是一个很值得我们学习的态度,就是他能够在自己在这种位子的时候,能去不让自己的人生去留下这么一个污点,这就是非常非常厉害的人,你能够站在一个高位上,你还能礼下于人,这就是一个很值得我们学习的。
当然,这些可能很多人年轻的时候,还没有做,没有这个体会,但是其实等你要真的想往上走的时候,你会发现很难,但是你如果说没有污点,没有能够让人抓住的把柄,甚至说你还有积累了这么多的善意,其实你会发现往上走相对来说,至少是没有阻碍的,就是你在这时候不要太过于把自己当回事,不要太过于把自己看太高,其实很多事情,相对来说就比较好处理了。
 
 
人生不浪费指南
 
第五点,刚才其实已经说过的,就是你要做一件事,你要有一个关键的人
比如说你要做医疗健康相关的行业,你就要有一个医疗健康方面相关的人,你要做娱乐,你能够认识一个娱乐业方面的一个大佬,这就非常非常好,你做淘宝电商,你不用说认识什么大佬,你认识一个有经验的员工,你能把他挖过来,你就可以做这个行业。
我一直说,理论上我们可以做任何行业,理论上中国是一个制造业大国,我们最不缺的就是产品,我们理论上可以做任何产品,任何行业,但是我们最缺的是人,是人才,是一个连接的点,连接的一个渠道。
为什么自媒体能赚钱呢?因为自媒体,可以连接很多人,我曾经一直说过,自媒体最大的好处,就是能够把不同的人连接到一起。这种连接就可以产生很多可能性。
这叫经济学上叫引入外部性,就是你在内部看起来不可解决的问题,引入外部性后,借用外部力量,可能就解决了。
这一点也是最重要的一点,就是你要遇对人。
找到了人,你就找到了方法。,找到了一个渠道,找到了一个脉络,这就是遇到人的一个重要性,所以我我建议大家每年,要去多认识一些高价值的人,你每年认识一两到三个高价值的人,去找到两个优秀的,能给你引入外部性的人,找对老师。
我今年其实因为疫情影响一直没有时间出去,但以往每年,都要去拜访一些很厉害的同行业的还有其他行业的人,你见识过这些人,你看着别人做事,你这个态度,你看别人做事的风格,看别人能够把这个事情做成功。
这都是你可以学习的,首先,他是不是带你入门,其次,他做事态度,做事的风格,就很值得你学习,现在你怎么找?网络就是一个很方便的渠道,你在微博上,你就可以跟别人发私信,你可以带着一个态度去请教,这是一个非常非常好的问题,怎么别人不请教你,为什么不教你,你没有为别人提供价值,我一直说什么,现在其实我们加上一个人的微信,能够从微博上给人发一个私信,这是非常非常好的一种渠道。
微信最大的红包是200,你上来发一个红包,然后请教一个问题,没有人会不回答,不回答你,他也不会收你的红包。
因为什么?因为但凡他已经在一个行业做成功,或者说他是有一定地位,有头有脸的人,他拿你钱,然后不搭理你,是很有损他自己声望的,或者说就是刚才我们说的,这是他人生的一个污点,对你来说,200块钱可能很多,对他来说200块钱不算什么,但是,他如果说他拿钱不办事,不回答你,那对他来时候就是一个污点。
为什么呢?大家都是有头有脸的人物,你不会做这种不体面的事儿,或者至少你做不体面的事儿,你不会做的这么明目张胆,大家可以看看以往的明星撕逼,都是没有名的撕有名的,比如像都美竹撕吴亦凡、陈露撕霍尊、李靓蕾撕王力宏。
为什么呀?因为大家不对等,你的这个咖位、身份差这么高,我只要撕你,我就是赚的。
所以,这种高阶的人其实处在一个弱势的地位,他反而会注意他的形象,他有IP你没有。
所以这就是一个本身的势能,你这时候找人请教,只要说你的问题不是太刁钻,你的问题不是太过分,肯定会给你一个回复,而他的这个回复往往都是高价值的,肯定是超过你的红包的,他但凡给你指条路,他走过了以后,他无意中泄露的一点信息,你只要会听,只要会解读,你会发现它是有内容的,而且就像他如果在一个行业做十几年,他无意中泄露出来的东西,随便的一句话,可能就是你在圈外,永远想不明白的。
我在刚开始入行的时候,其实也是一摸黑,就是到处找人请教,发红包,请人解决问题,那时候加过很多互联网大佬的微信,我的经验证明,你要跟他们闲聊,几乎没有人理你,但是你要跟他们请教专业问题,礼数周到,很少有人不理你。
 
 

END

转自:https://mp.weixin.qq.com/s/5Q2GlKhp3voKf9OYwfAE-g

出生人口减少后,被直接影响的几个行业

2017年,中国出生人口1723万人。

2021年,中国出生人口1062万人。

出生人口减少后,被直接影响的几个行业
短短4年时间,中国的出生人口数量少了611万人,少了1/3还要多。
而且不管是从即将进入婚龄,1999年左右的出生人口数量判断,还是从世界人口普遍规律来看,未来几年的出生人口肯定还要继续下降,我估计最终要滑到600~800万左右才能稳住。
面对未来几年不断下滑的出生人口趋势,中国目前会有哪几个行业会被直接影响?未来会有哪几个行业被直接影响?
今天聊一聊这个话题,相信对相关行业的从业人员规划未来人生会很有帮助。
首当其冲的行业毫无疑问是产科医生,只要出生人口数量下滑,这一定是第一个被冲击的行业。
2017年之前,产业是医院里最火爆的科室,只要生过孩子的家庭,都知道生孩子在医院里抢个房间有多难。
就算你家里托关系找到了病房,也一定见过睡在走廊病床上里的大量产妇。
出生人口减少后,被直接影响的几个行业
凡是以前去过产科病房,都知道当年的产科是多么的紧俏。
就算是到了2019年,出生人口下滑到1465万人每年的时候,几乎所有城市的产科依然存在大量产妇睡走廊现象,要睡病房依然要找人托关系。
但是在2021年,出生人口下滑到1062万人的时候,这种现象彻底消失了,产科变得门庭冷落,病房异常的充裕。
《中国新闻周刊》在2022年3月报道,北京市东城区妇幼保健院,以前曾经极度拥挤的一个医院,因为分娩量的的下降,现在每个双人间病房只安排一个产妇了。
出生人口减少后,被直接影响的几个行业
而由于分娩量的下降,很多医院的产科收入减少,对应的产科医生的奖金就会跟着减少,这几年成为了全医院最惨的科室。
面对收入压力,不少医院被迫将缩小产科的病房面积,减少产科医生的岗位,把产科医生安排在妇科进行调剂,同时减少整个妇产科的招聘编制。
第二个被冲击的,就是月子中心。
前几年月子中心可火了,大量月子中心铺天盖地的开业,被誉为金矿行业。
产科收入不行,紧跟着就是月子中心收入不行,因为月子中心服务的就是孩子生下来之后的头一个月。
虽说不是人人都住月子中心,但比例的差不多的。
以前全行业有1723份收入,现在就只剩1062份收入,大家都刚装修好不愿意关门,自然会导致全行业普遍进入微利或亏损状态。
只要还能赚钱,月子中心的老板就还能撑,直到亏损为止,而现在需要全行业1/3的老板都陷入亏损,然后被迫关门大吉,整个行业才能进入新的平衡。
你想想这一行的人会有多惨烈。
而且,因为自然规律,未来几年出生人口还会持续减少,这就会导致月子中心行业还要持续收缩,持续关门,直到最终平衡。
其他奶粉、尿布行业的从业人员,在这个过程中也会受到一定冲击,这里略过不表,因为这些行业除老板和高管之外,普通从业人员转行都比较容易,国家创造出其他就业岗位就可以轻易转行,因此相对痛感不会很深。
月子中心之后,就是幼儿园。
孩子大概3岁就要上幼儿园。
2017年为巅峰,2018年出生人口第一次下降,这些人2021年就要开始上幼儿园。
2021年9月,人民网对北京市的幼儿园招生情况进行了报道,北京市昌平某公立示范园的园长回忆起2019年的盛况,当时很多家长以每年六七百元的价格雇人排队报名。
但到了2021年,不仅雇人排队报名的情况消失了,学位居然还有富裕。
该公立示范幼儿园自成立以来,从未出现过招不满学生,学位富裕的情况,但是在2021年出现了。
而记者查询北京市朝阳区入园登记报名服务平台信息后发现,整个朝阳区在2021年共有136家幼儿园出现富裕学位,一些幼儿园学位甚至剩余了上百个。
这才2021年啊,对应的是2018年1523万的出生人口。
2021年实际出生人口是1062万人,这些人会在2024年入学幼儿园,这是一个板上钉钉摆在明面上的数字。
到时候幼儿园会出现多么大的学位富裕?
611万人的生源减少,代表着至少4万幼儿园会被空置,23万个幼儿园班级会消失。
全中国的幼儿园,在2024年会消失1/3以上。
前几年,很多人说幼儿园赚钱,幼儿园暴利,不知道有多少人听信“谣言”冲上去了。
凡是这几年冲进去的,扣掉房租和工资之后,我估计能把装修钱挣回来都够呛,肯定一大把亏损的。
1/3的幼儿园老板注定要亏损离场,对应的幼师岗位需求也一定会跟着减少。
以2021年的出生人口数量,全行业对应幼师需求会减少1/3以上。
以未来几年的出生人口数量,全行业对应的幼师需求会在这个基础上再度减少。
现在投资幼儿园行业是非常愚蠢的行为,而幼师从业者也要早做打算。
同时,在这个1/3淘汰潮里,低端幼儿园倒闭率会是比较高的,而高端幼儿园倒闭率会是比较低的,当然也不排除高端幼儿园盲目扩张而倒闭。
我知道很多幼儿园喜欢一次性收取3年学费,然后给与一定折扣,比如说85折,他们老板这么干就等于按年息5%借款了。
以前可以,现在建议家长谨慎,因为未来3年幼儿园平均倒闭率一算就知道会是1/3,一旦恰好你预付款的那家倒闭了,这种预付款要拿回来的难度,你自己想想就知道了,基本拿不回来,肉包子打狗有去无回。
一年一年的交吧,交一年学一年,这样安全系数会大很多,现在非公立幼儿园收费高昂,3年学费可不是个小数。
幼儿园之后,就是小学。
按中国教育法,孩子满6周岁就要上小学,个别地区可延至7岁,小学和初中属九年义务制教学,家长不让孩子上学属违法行为,因此入学率约等于100%。
从2018年算,小学转折点出现在2024年,和2021年的幼儿园转折点一样。
2021年的出生人口数据1062万,会体现在2027年的小学入学人数上。
2017年为出生人口巅峰1723万,对应的是2023年的小学入学人数。
也就是说,明年会是小学招生最辉煌的一年,回光返照,然后就会是一路下跌。
到2027年,全国小学招生人数会减少1/3以上,未来还会持续减少。
这不是什么很难预测的事情。
还有5年时间,全国小学教师的需求就会大幅下降,按目前数据也要降低1/3,而且极大概率还要继续跌。
没编制的还可以清退,有编制的怎么办?
因此,全国小学教师招聘工作在2022年骤然收紧,各地都出现了大幅减少小学教师编制数量的情况,这一切都是在为未来几年的小学入学人数大幅减少做准备。
准备考编小学教师的人,今年应该都打听到名额减少的事了。
名额减少这个情况不会停止,明年,后年,大后年,都不会恢复。
要不然几年后咋办,一堆教师闲着,没足够学生了。
小学过后是初中,初中过后是高中,道理都是类似的。
6岁上小学,12岁上初中,15岁上高中,人口出生数量的减少会一层层影响相关的从业人员。
教师这个行业很难改行,尤其是有编制的教师。
编制代表稳定,但未必代表高薪,行业收缩的时候收入是会同步减少的,顶多比惨烈的民间私立教师稍微体面点。
对于相关从业者,你们需要重视出生人口带来的影响,根据时间节点倒推自己受到影响的年份。
高中之后,是大学。
把大学单独拎出来谈,是因为大学存在两极分化。
首先,在行业大势上来说,大学整体招生人数会减少至少1/3以上,时间点在2040年左右。
但是小学初中和高中,大家都是在本地上学的,哪怕你北漂工作也会把孩子送回老家。
但大学是面向全国招生的。
全国总生源减少了1/3,不代表所有学校的生源都平均减少了1/3,北大清华和985、211这种大学,是一点生源都不会少的,哪怕总生源减少一半以上都不会耽误他们招生,他们一定会有人报名。
有招生,就有拨款,这些学校的老师收入几乎不会受到任何冲击。
但底层大学就没那么好命了,他们的招生人数会断崖式下跌八成乃至于九成,根本招不到人,从而凄惨关门,比幼儿园倒闭还要惨,冲击还要大。
幼儿园的生源减少几乎是平均分配的,大家都是1/3,厉害的幼儿园会好一点,但不至于像大学这样把生源减少的窟窿都让低级大学给填了,直接做到旱的旱死,涝的涝死。
因为好的幼儿园收费贵,会有一个学费调剂需求的作用,但大学的学费倒挂,越好的大学收费反而越便宜,所以需求不会有丝毫减少。
到时候国家肯定要调控,强制高级大学降低招生人数,以保护差一点的大学,但也很难做到平衡,大部分生源亏损肯定是低级大学来背。
所以,私立大学投资不是个好生意,那些私立大专三本之类十几年后注定要倒闭的,这种大学投资回收周期极长,十几年还不够你收回成本的,等于白干,空冒风险。
至于目前在私立大学担任教职工作的人,大概还有十几年好日子,然后会迎来远远比今天幼儿园、小学初中等惨烈无数倍的倒闭冲击。
整个行业要裁掉1/3以上的教职人员,要么裁清北和985的教授,要么裁你,你觉得到时候会裁谁?
大学毕业后,就开始准备婚房了。
前几年都说房价是被丈母娘需求给拉起来的,创造了一套丈母娘理论,说年轻人结婚必须买婚房,需求太大,供应不足,所以房价才会涨。
就算是对的,那如果丈母娘需求没了呢?
2040~2044年之后,结婚的人会大幅减少1/3以上,这是按出生人口计算的,要是参考日韩不断降低的结婚意愿,到时候结婚的人数可能会更低。
没那么多人结婚了,婚房需求还有那么大吗?
一个人过的话,租房不香嘛,干嘛要背那么高的房贷?
那么这个节点,住房需求会大大减少,房价会大幅承压。
当然,以如今房价的泡沫程度,我觉得很难撑到那个时候,我这里说的是20年后的那一波人口因素对价格造成的压力。
假定25~27岁结婚生子。
因为结婚人数的减少,出生人口到时候会进一步减少。
从全球范围来看,人口出生率只要跌下去,就没有能拉回来的,无论如何都拉不回一对夫妻平均生2个孩子那个地步,能拉回到1.6左右已经算烧高香了,日韩那种出生率直接躺平在1左右怎么都不肯动了。
届时,对产科、月子中心和小学的第二轮爆破会再度开启。
当然,还有更长期的。
到2090年左右,也就是70年后,连养老院都会迎来一波关门潮,因为需要养老的人口大量减少。
到这个时候,才算走完一波完整的人口影响周期。
以上,是出生人口减少后会直接影响的行业。
如果你是以上行业的从业人员,那么要早做准备。
那么间接影响的行业有没有?
当然有,实际上所有行业都会因此受到影响,无论你是哪行,届时都会面临全行业消费者减少1/3的局面,因为没那么多人了。
如果能通过外贸消化产能,那还好一些,不能的话,就比较麻烦。
当然,因为这些行业的岗位不像医院和教师那么特殊,所以感受到的冲击可能没那么大,但隐形的整体冲击是切实存在的。
今天大概就聊那么多吧,如果你是相关行业的人员,建议参考时间周期,早做准备。
二三十年后的事情可能有点远,但婴幼儿行业的冲击,已经迫在眉睫了。
不管是政府还是相关个人,对于出生人口剧烈减少带来的行业冲击,都需要早做准备。

转自:https://mp.weixin.qq.com/s/hEzxjeOysOFxASrQr2QOTw