环境安装 scrapy安装 安装依赖: 1.pywin32 pip install pywin32 安装Twisted pip install Twisted 查看版本: C:\Users\cjz>python -m scrapy version Scrapy 1.8.0 创建工程项目 D:\python_cuijianzhe>scrapy startproject scrapy_test New Scrapy project 'scrapy_test', using template directory 'd:\programs\python\python37\lib\site-packages\scrapy\templates\project', created in: D:\python_cuijianzhe\scrapy_test You can start your first spider with: cd scrapy_test scrapy genspider example example.com 查看scrapy创建的文件: D:\pyt.... Scrapy学习 Python
创建虚拟机 基本环境 查看自己的CPU是否支持全虚拟化虚拟化技术且是64位的 Inter: cat /proc/cpuinfo | grep --color vmx AMD: cat /proc/cpuinfo | grep --color svm 看看flag有没有上面的vmx或者是svm,有的话就是支持全虚拟化技术 安装KVM 安装KVM模块、管理工具和libvirt,命令行安装: yum install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python -y 注: qemu-kvm : kvm主程序, KVM虚拟化模块 virt-manager: KVM图形化管理工具 libvirt: 虚拟化服务 libguestfs-tools : 虚拟机的系统管理工具 virt-install : 安装虚拟机的实用工具 。比如 virt-clone克隆工具就是这个包安装的 libvirt-python : python调用libvirt虚拟化服务的api接口库文件 查看安装完KVM后的服....... openstack创建镜像,开启云主机 Linux
这道菜创于2017年,在北京市昌平区霍营乡紫金新干线四区内。当时喜欢做西红柿鸡蛋汤,和这道没有名字的菜。都很喜欢吃,并且会放很多的油 所需准备的食材 土豆。大概一只手那么大的用一颗。切丝。越细越好。 青椒。一只手那么大的青椒,用四分之一足矣。切丝。 红椒。一只手那么大的红椒,用四分之一足矣。切丝。 胡萝卜。一只手那么长的胡萝卜,用半根即可,切成丝,越细越好。 蒜。用两瓣蒜即可,切成小块。 盐。要在出锅的时候多放,因为菜本身无味。辣味也被消磨殆尽。 制作过程 将土豆、胡萝卜、青椒、红椒切丝。将葱、蒜切块。 将土豆丝放入平底锅中,倒入少许水直至淹没土豆丝,加热至土豆软化。这个过程叫做焯水。小于十分钟即可。 将土豆捞出备用。 往锅中倒入少量的油,因为这道菜不吃油。 等锅中的油7成热之后。将【葱、蒜、青椒、红椒】一起放入锅中翻炒十秒。 将土豆丝放入锅中翻炒,大概持续三分钟。在翻炒至一分钟的时候,加入胡萝卜丝。 放入多量的盐。 搅拌均匀,即可出锅。 由于以后还会做这道菜,所以将其命名为【近橙】,意为这道菜的颜色,如果整体为橙色,则应该是上等质量。 评分 难易度:★☆☆☆☆ 本次口感:★★☆☆☆ 【美食篇】自创的一道菜 美食
[root@ceph1 ceph]# scp root@192.168.51.206:/etc/ceph/ceph.conf root@192.168.51.212:/root @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the rem.... ssh-key改变后出现的错误解决方法 Linux
环境介绍 ceph搭建先搞定 对接openstack配置参考这里: 主机: IP 作用 主机名 192.168.51.204 存储节点 cinder 192.168.51.209 计算节点 computer3 192.168.51.210 计算节点 compute2 192.168.51.211 计算节点 compute1 192.168.51.212 control节点 control 同步时间 在ceph1上安装ntp服务,是2、3同步1的时间 [root@ceph1 ~]# yum install ntp -y && systemctl enable ntpd.service && systemctl start ntpd.service [root@ceph1 ~]# systemctl start ntpd [root@ceph2 ~]# ntpdate 192.168.51.212 [root@ceph3 ~]# ntpdate 192.168.51.212 或者所有节点配置统一互联网ntp服务 ntpdate ntp1.aliyun.c...... kolla-ansible部署openstack多节点 Linux
Ceph集群文档 集群架构: 环境: 10.200.51.4 admin、osd、mon作为管理和监控节点 10.200.51.9 osd、mds 10.200.51.10 osd、mds 10.200.51.113~client节点 ceph1作为管理,osd.mon节点。前三台新增硬盘 [root@ceph1 ~]# mkfs.xfs /dev/sdb meta-data=/dev/sdb isize=512 agcount=4, agsize=1310720 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5242880, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks.... ceph集群搭建 Linux
近来几天发现访问博客端文章间歇性报出502,一开始以为是solo博客端的配置问题,纠正排查后发现不是博客后台设置的问题。后来查看nginx的日志。发现如下报错: 2019/10/20 20:05:09 [error] 8539#0: *67 no live upstreams while connecting to upstream, client: 111.194.50.93, server: cjzshilong.cn, request: "GET /sw.js HTTP/1.1", upstream: "http://localhost/sw.js", host: "www.cjzshilong.cn", referrer: "www.cjzshilong.cn/sw.js" 2019/10/20 20:08:53 [notice] 8638#0: signal process started 2019/10/20 20:09:11 [error] 8659#0: *2 upstream sent too big header while reading resp.... 修复nginx报错:"upstream sent too big header while reading response header from upstream" Linux
horizon节点安装 yum install openstack-dashboard 编辑/etc/openstack-dashboard/local_settings文件 将仪表板配置为在控制器节点上使用OpenStack服务: OPENSTACK_HOST = "10.200.51.100" 允许主机访问仪表板: ALLOWED_HOSTS = ['*', 'localhost'] 配置memcached会话存储服务 SESSION_ENGINE = 'django.contrib.sessions.backends.cache' CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '10.200.51.100:11211', }, } 启用标识API版本3: OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST 启用对域的支持 OPENS.... openstack系列-dashboard部署 Linux
neutron 部署 mysql 库创建 CREATE DATABASE neutron; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \ IDENTIFIED BY 'neutron'; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \ IDENTIFIED BY 'neutron'; 创建服务凭据 创建 neutron 用户 [root@linux-node1 ~]# . admin-openrc [root@linux-node1 ~]# openstack user create --domain default --password-prompt neutron User Password: Repeat User Password: +---------------------+----------------------------------+ | Field | Value | +---------------------+---.... openstack系列-neutron系列安装部署 Linux
controller node nova节点 数据库部署 MariaDB [(none)]> CREATE DATABASE nova_api; MariaDB [(none)]> CREATE DATABASE nova; MariaDB [(none)]> CREATE DATABASE nova_cell0; MariaDB [(none)]> CREATE DATABASE placement; GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \ IDENTIFIED BY 'nova'; GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \ IDENTIFIED BY 'nova'; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \ IDENTIFIED BY 'nova'; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \ ID.... openstack系列-nova节点部署 Linux
glance 服务安装 glance库的创建 CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \ IDENTIFIED BY 'glance'; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \ IDENTIFIED BY 'glance'; 注意注意:每一条配置要新建到文件中,尽量不要打开注释在原有的基础上修改 创建本地存储 1.一定要在opesntack-glance-api.service服务启动之前部署好存储设备,因为该服务在启动时会加载存储驱动检索存储设备,如果事先不存在,就意味着该服务没有识别到任何可用的存储设备,即便是后来你又新增了存储,仍然是无效的,最终导致你上传镜像失败; 2.一定要赋予opesntack-glance-api.service服务对存储设备的可写权限。 source管理凭据以获得对仅限管理的CLI命令的访问权限 创建glance用户 [root@linux-node1 ~]# . .... openstack系列- glance 服务部署 Linux
一、环境 基础环境设置 主机名修改: hostnamectl set-hostname linux-node1 修改host文件 10.200.51.100 linux-node1 linux-node1.limi.com 10.200.51.31 linux-node2 linux-node2.limi.com linux-node1 10.200.51.100 控制节点 linux-node2 10.200.51.31 计算节点 配置网络yum源: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo sed -i 's/$releasever/7.7.1908/g' /etc/yum.repos.d/CentOS-Base.repo NTP服务安装 yum install chrony -y timedatectl set-timezone Asia/Shanghai #配置时区 vim /etc/chrony.conf ... allow 10.200.... openstack系列- keystone部署文档 Linux
现有表格内容如下: BT 列有全部图片 url 地址: 最终版本优化 #!/usr/bin/python # -- coding: utf-8 -- # @Time : 2019/10/15 21:36 # @Author : cuijianzhe # @File : biaoge.py # @Software: PyCharm import xlrd import requests import os name = input('请输入表格名称:') path = name + '.xls' workbook = xlrd.open_workbook(path) Data_sheet = workbook.sheets()[0] rowNum = Data_sheet.nrows #行数 colNum = Data_sheet.ncols #列数 def get_sitesname(): ''' 提取并添加站点名称 ''' #第一个方法使用列表 sites_list = [] i = 1 #从1开始跳过表头数据 try: for s in range(Data_sheet.nc....... 通过python读取excel表格内容url批量下载 Python
通过钉钉官方接口可定时同步得知企业离职人员便于认证管理同步,大大简便了人员账号的管理。 请求带有参数的 API 接口 注意请求接口白名单情况 可参考钉钉开发文档: 创建应用: 代码示例: import requests import json import sys import os corpId="35c2365db2f1378bfd74f96b7c7a529f" corpSecret="13dc3517caa3da9bee5e7b6b2ead8938" headers = {'Content-Type': 'application/json;charset=utf-8'} api_url = "https://oapi.dingtalk.com/gettoken?appkey=%s&appsecret=%s"%(corpId,corpSecret) def get_token(): try: res = requests.get(api_url,headers=headers) if res.status_code == 200: str_res = res.text to.... 通过 python 获取钉钉后台人员 Python
最近换了一款新皮肤solo-nexmoe,但是无奈一直间歇性报500,但是访问有时有时好的,所以找了一个脚本检测500出现的时间,第一时间去看情况。 shell脚本 #!/bin/bash URL=https://www.cjzshilong.cn DING_URL=https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXXXXXXXXXXXXXXX function SendMessageToDingding(){ curl "{DING_URL}" -H 'Content-Type: application/json' -d " { \"actionCard\": { \"title\": \"o(╥﹏╥)o Solo故障啦\", \"text\": \"Web地址: URL\n\n状态码: $1\n\n响应时间:{REQUEST_TIME}秒\n\n当前时间:{DT}\n\n", "hideAvatar": "0", "btnOrientation": "0", "btn.... web状态码检测监控提醒 Linux
一、 python3 + echarts 1.1. python3获取数据展示无线节点图例: 1.1.1 通过snmp获取源数据 #!/bin/env python3 import json import subprocess import os User_list = [] CMD_num = "snmpwalk -v 2c -c limi@2018 10.200.250.5 1.3.6.1.4.1.2011.6.139.13.3.10.1.5 | wc -l" #AP总数 Num = int(subprocess.getoutput(CMD_num)) CMD_name = '''snmpwalk -v 2c -c limi@2018 10.200.250.5 enterprises.2011.6.139.13.3.10.1.5 | awk '{print $4}' | sed 's/"//g' ''' ap_name = subprocess.getoutput(CMD_name) Name_list = ap_name.split("\n") for id in range(0.... python获取数据实现echarts出图 Python
AI 换脸实现 科普:我们人眼看到连续画面的帧数为24 帧,大约 0.04秒,低于0.04就会卡成ppt。电影胶片是24帧 也就是每秒钟可以看到24张图像 低于这个数值就会感觉画面不流畅 所以以24帧为界限 实现思路: 先把源视频文件转换成图片,在用API面部识别进行融合更换面部内容变成其他图形,并且利用软件完成对源文件音频的提取,再次把更换过的图片转换成为视频,并和音频进行融合。 原视频转图片 提取原视频音源 图片面部识别并更换 变化后的图片转视频 音频和视频融合 环境:python3.7 + pycharm-2019.1 + ffmpeg FFmpeg官网 使用实例: 提取音频: ffmpeg -i 1.mp4 -f mp3 1.mp3 2.合成视频和音频 ffmpeg -i 没有声音.mp4 -i 提取生成的.mp3 -strict -2 -f mp4 合成的.mp4 需要的库文件: opencv-python pillow(PIL) subprocess Face++ 面部识别 在此使用旷视科技的人脸识别API进行完成。先对图片进行脸部识别并进行融合,看这里: Face ++官.... python 实现 AI 换脸 Python
妹子图官方网址:https://www.mzitu.com/ 刚接触到BeautifulSoup,所以拿来试下效果,起伏跌宕出来效果。 具体思路?官网首页链接-->获取分页面链接-->通过分页面获取图片链接 看下步骤: 一、分析下页面 1.1 先确保访问正常: 头部信息: url = "https://www.mzitu.com" headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36', "Referer": "https://www.mzitu.com/101553" } def load_page(url): try: res = requests.get(url,headers=headers) if res.status_code == 200: print('页面请求完毕') return res.text except: print(.... 【福利】python3爬取妹子图 Python