首页
留言
Search
1
在Centos7下搭建Socks5代理服务器
1,036 阅读
2
在windows11通过Zip安装Mysql5.7
574 阅读
3
Mysql5.7开放远程登录
482 阅读
4
数据库
469 阅读
5
mysql5.7基本命令
377 阅读
综合
正则表达式
git
系统
centos7
ubuntu
kali
Debian
网络
socks5
wireguard
运维
docker
hadoop
kubernetes
hive
openstack
ElasticSearch
ansible
前端
三剑客
Python
Python3
selenium
Flask
PHP
PHP基础
ThinkPHP
游戏
我的世界
算法
递归
排序
查找
软件
ide
Xshell
vim
PicGo
Typora
云盘
安全
靶场
reverse
Java
JavaSE
Spring
MyBatis
C++
QT
数据库
mysql
登录
Search
标签搜索
java
centos7
linux
centos
html5
JavaScript
php
css3
mysql
spring
mysql5.7
linux全栈
ubuntu
BeanFactory
SpringBean
python
python3
ApplicationContext
kali
mysql8.0
我亏一点
累计撰写
139
篇文章
累计收到
8
条评论
首页
栏目
综合
正则表达式
git
系统
centos7
ubuntu
kali
Debian
网络
socks5
wireguard
运维
docker
hadoop
kubernetes
hive
openstack
ElasticSearch
ansible
前端
三剑客
Python
Python3
selenium
Flask
PHP
PHP基础
ThinkPHP
游戏
我的世界
算法
递归
排序
查找
软件
ide
Xshell
vim
PicGo
Typora
云盘
安全
靶场
reverse
Java
JavaSE
Spring
MyBatis
C++
QT
数据库
mysql
页面
留言
搜索到
8
篇与
python
的结果
2023-03-07
Python3 Flask模板渲染Url地址数据中JavaScript代码区块内出现字符丢失
Python3 Flask模板渲染Url地址数据中JavaScript出现字符丢失问题原因由于Flask框架在模板渲染时会自动进行转义,所以url等复杂的文本会进行自动转义从而导致丢失一些字符最后造成url无法访问所有扩展名为 .html 、 .htm 、 .xml 以及 .xhtml 的模板会开启自动转义模板可以利用 {% autoescape %} 标签选择自动转义的开关。代码详情config = { "url": "http://xxxxxxxxxxxxxxxxx" } ...... return render_template("index.html", config=config)url: "{{ config.url }}",解决办法关闭渲染时自动转义url: "{% autoescape off %}{{ config.url }}{% endautoescape %}"
2023年03月07日
146 阅读
0 评论
0 点赞
2023-03-06
Python3 使用selenium-wire捕获动态网页视频资源文件
Python3 使用selenium-wire捕获动态网页视频资源文件1.环境安装idea虚拟环境谷歌浏览器pip3 install selenium pip3 install selenium-wire2.Python3代码from selenium.webdriver.chrome.options import Options from seleniumwire import webdriver def getVideo(url): # 创建一个请求头对象 chromeOptions = Options() # 设置无头模式,浏览器处于后台运行,不会在前台显示 chromeOptions.add_argument('--headless') # 设置lang和User-Agent来模拟真人点击,防止被反爬虫检测到 # 设置语言为中文 字符编码为UTF-8 chromeOptions.add_argument('lang=zh_CN.utf-8') # 设置user-agent用来模拟EDGE浏览器 UserAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/111.0.0.0' chromeOptions.add_argument(f'User-Agent={UserAgent}') # 启动浏览器并设置chrome_options参数 driver = webdriver.Chrome(chrome_options=chromeOptions) # 3次重新连接尝试 for i in range(0, 3): # 开始请求 print(f"第{i}次请求") driver.get(url) for request in driver.requests: if request.url.endswith("mp4") or request.url.endswith("m3u8"): return { "code": 200, "data": request.url } driver.close() return { "code": 404, "data": "资源不存在" } print(getVideo("寻找视频地址"))3.运行结果成功结果第0次请求 第1次请求 {'code': 200, 'data': 'https://xxxxxxxxxxxxxxx'}失败结果第0次请求 第1次请求 第3次请求 {'code': 404, 'data': '资源不存在'}
2023年03月06日
121 阅读
0 评论
0 点赞
2023-03-01
Python3 简单调用ChatGpt Api
Python3 简单调用ChatGpt Apiimport openai import datetime import random import urllib from PIL import Image def DownLoadImage(url): print(url) try: name = str(round(datetime.datetime.now().timestamp() + random.randint(1, 99))) + ".jpg" urllib.request.urlretrieve(url, name) return {"code": 200, "filename": name} except: return {"code": 201, "msg": "下载失败"} class ChatGpt: # openAi配置参数 # 模型名称 model = "text-davinci-003" # 控制结果随机性,0.0表示结果固定,随机性大可以设置为0.9 temperature = 0.8 # 最大返回字数(包括问题和答案),通常汉字占两个token。假设设置成100,如果prompt问题中有40个汉字,那么返回结果中最多包括10个汉字。 max_tokens = 1024 # 控制ChatGPT生成的话的多样性 top_p = 1.0 # 频率惩罚介于-2.0和2.0之间,它影响模型如何根据文本中词汇(token)的现有频率惩罚新词汇(token) frequency_penalty = 0.5 # 存在惩罚介于-2.0和2.0之间,它影响模型如何根据到目前为止是否出现在文本中来惩罚新token。 presence_penalty = 0.0 openai.organization = "org-CFk*********sasyBjhqj" openai.api_key = "sk-A0OlOGuz3g**************FJSjdmaga0evJVbqZCyiM4" def getText(self, text): try: response = openai.Completion.create( model=self.model, prompt=str(text).strip(), temperature=self.temperature, max_tokens=self.max_tokens, top_p=self.top_p, frequency_penalty=self.frequency_penalty, presence_penalty=self.presence_penalty ) response = response['choices'][0]["text"] except Exception as e: response = e print(response.strip()) return response.strip() def getImage(self, text, num=1, size="1024x1024"): response = openai.Image.create( prompt=str(text).strip(), n=num, size=size ) image_url = response['data'] for i in image_url: data = DownLoadImage(i["url"]) if data["code"] == 200: img = Image.open(data['filename']) img.show() if __name__ == "__main__": gpt = ChatGpt() # 生成图片 (第一个参数为文本,第二个参数为生成几张图片,第三个参数为分辨率256x256 512x512 1024x1024) # gpt.getImage("太极图", 1, "1024x1024") # 生成文字 (传入文字内容就行了) # gpt.getText("你好")
2023年03月01日
111 阅读
0 评论
1 点赞
2023-02-09
openstack api 操作 flavor
通过 openstack api 的方式操作 flavor获取flavor列表import json, requests url = "http://172.16.1.151:5000/v3/auth/tokens" body = { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "demo" }, "name": "admin", "password": "000000" } } }, "scope": { "project": { "domain": { "name": "demo" }, "name": "admin" } } } } headers = { "Content-Type": "application/json", } token = requests.post(url, data=json.dumps(body), headers=headers).headers['X-Subject-Token'] flavors = requests.get('http://controller:8774/v2.1/flavors', headers={'X-Auth-Token': token}) json_flavors = json.loads(flavors.text) for i in json_flavors['flavors']: print(i) 创建新的flavorimport json import requests url = "http://172.16.1.151:5000/v3/auth/tokens" body = { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "demo" }, "name": "admin", "password": "000000" } } }, "scope": { "project": { "domain": { "name": "demo" }, "name": "admin" } } } } headers = { "Content-Type": "application/json", } token = requests.post(url, data=json.dumps(body), headers=headers).headers['X-Subject-Token'] # 创建云主机类型 def create_flavor(id, vcpus, ram, disk, name): headers = { "Content-Type": "application/json", "X-Auth-Token": token } body = { "flavor": { "name": name, "ram": ram, "vcpus": vcpus, "disk": disk, "id": id } } return requests.post('http://172.16.1.151:8774/v2.1/flavors', data=json.dumps(body), headers=headers) flavor = create_flavor(id=100, vcpus=1, ram=1024, disk=10, name='api-create') print(flavor.text)删除flavorimport requests,json url = r'http://172.16.1.151:5000/v3/auth/tokens' headers = { "context-type": "application/json" } body = { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "demo" }, "name": "admin", "password": "000000" } } }, "scope": { "project": { "domain": { "name": "demo" }, "name": "admin" } } } } token = requests.post(url, data=json.dumps(body), headers=headers).headers['X-Subject-Token'] headers = { "context-type": "application/json", "x-auth-token": token } #删除云主机类型 flavor = requests.delete('http://172.16.1.151:8774/v2.1/flavors/' + '100',headers=headers) print(flavor.text)
2023年02月09日
163 阅读
0 评论
0 点赞
2023-02-09
openstack api 获取token
通过openstack api 的方式获取身份令牌tokenimport time, requests, json headers = { "Context-Type": "json" } url = r'http://172.16.1.121:5000/v3/auth/tokens' body = { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "demo" }, "name": "admin", "password": "000000" } } }, "scope": { "project": { "domain": { "name": "demo" }, "name": "admin" } } } } token = requests.post(url=url, data=json.dumps(body), headers=headers) print(token.headers)
2023年02月09日
171 阅读
0 评论
0 点赞
1
2