- 博客(57)
- 收藏
- 关注
原创 使用Nginx限制特定IP访问自己的网站
使用Nginx限制特定IP访问自己的网站。一个网站只想被国内访问,或者只想被一个省或一个市访问,或者只允许特定的IP或IP段访问,或者禁止特定的IP或IP段访问。
2024-02-21 11:08:49
1075
原创 CentOS已安装宝塔的情况下手动安装phpMyAdmin
CentOS已安装宝塔的情况下手动安装phpMyAdmin。如果报错phpmyadmin mysqli_real_connect(): (HY000/2002): No such file or directory,cp config.sample.inc.php config.inc.php,将config.inc.php中$cfg['Servers'][$i]['host']的值由'localhost'改成'127.0.0.1'。
2024-02-20 16:16:13
1192
原创 通过rc.local开机自启执行nohup命令运行Flask,nohup.out中没有Flask请求响应日志
通过修改/etc/rc.d/rc.local,实现开机自启Flask服务,CentOS 7.9。
2023-12-08 09:14:07
1736
1
原创 likeadmin部署
fastapi中向客户端返回HTTP错误响应,可以使用。文档中示例代码但我在likeadmin中用同样的写法,想返回401登录失败,触发异常时postman显示"msg": "系统错误","data": []然后把raise改成return,响应变成"msg": "成功","data": {"detail": "登录失败",想起来likeadmin中不带token访问需要token的接口时提示"msg": "token参数为空","data": []
2023-10-24 22:35:28
1021
3
原创 百度飞桨PaddleSpeech的简单使用
百度飞桨PaddleSpeech的简单使用。PaddleSpeech是基于飞桨PaddlePaddle的语音方向的开源模型库,用于语音和音频中的各种关键任务的开发,包含大量基于深度学习前沿和有影响力的模型,一些典型的应用示例如下:语音识别、语音翻译 (英译中)、语音合成、标点恢复等。我只用到了语音识别(语音转文字)、语音合成(文字转语音)。
2023-03-02 17:13:15
9571
原创 CentOS 7安装N卡驱动和CUDA和cuDNN
CentOS 7安装N卡驱动和CUDA和cuDNN,CentOS 7安装NVIDIA显卡驱动和CUDA和cuDNN
2023-03-01 20:21:36
6840
1
原创 python人脸识别和人脸对比,face_recognition和OpenCV
python人脸识别和人脸对比,face_recognition和OpenCV。OpenCV判断图片是否模糊。用向量数据库Milvus存储人脸数据,并进行增删改查。Milvus数据备份迁移。
2022-10-24 11:52:03
3956
原创 百度飞桨PaddleOCR的简单使用
PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力开发者训练出更好的模型,并应用落地。PaddleOCR是一个图像识别库,我只是用到了它的OCR功能,就是识别图片中的文字。其他的功能也很强大,我没用到。...
2022-08-09 11:55:00
5317
原创 MongoDB数据去重
有三种方法,针对不同的情况。方法一数据库是新的,里面没有任何数据。这时的去重,是指在插入数据时,判断本次要插入的数据,是否在数据库中已存在。若存在,可以忽略本次的插入操作,或覆盖数据;若不存在,则插入。原理MongoDB的_id字段的值是唯一的(类似MySQL的主键),若不手动赋值,则会在插入数据库过程中自动生成。MongoDB插入数据时会自动根据_id的值判断是否是重复数据,即数据库中是否有某条数据的_id和本次要插入的数据的_id相同,若发现重复数据,则本次插入操作会报错Duplic
2022-05-17 10:53:21
7460
原创 Crawlab运行selenium爬虫
上篇文章学习了Crawlab运行scrapy爬虫和单文件爬虫,这次学习Crawlab运行selenium爬虫,我的例子是单文件的。环境准备Crawlab虽然自带了一些爬虫用的第三方库,但是不全,总有一些库是你的代码需要但它没自带的,如selenium就没自带。查看已安装的库有两种方法可以看你的Crawlab是否安装了selenium(截图时我已安装),如果你没装,则下面的图中你看不到selenium。方法一图1方法二图2图3安装需要的库文档中有两处提到安装依赖,文档.
2022-05-05 18:12:50
2245
4
原创 Crawlab的使用
上篇文章安装了Crawlab,现在开始使用。0.6.0beta目前有问题,建议稳定版出了再用,所以本文用截止发布文章时的最新稳定版0.5.1。本文最核心的内容在文档-SDK-Python和文档-爬虫集成中,即配置scrapy爬虫和单个py文件爬虫所需的设置。先说一下,如果在Crawlab中运行爬虫时提示没有库,看文档。scrapy爬虫文档将上图压缩后的zip文件上传,上传时开启是否为Scrapy。另外,上传时有提示要从根目录下开始压缩爬虫文件,文档中也有说。上传后,从文件
2022-04-25 22:17:07
2519
原创 Crawlab安装
0.6.0beta目前有问题,建议稳定版出了再用,稳定版出之前先用0.5.x。Crawlab0.6.0-beta.20211224按照0.6.0文档快速开始中的步骤(需提前安装Docker):docker pull crawlabteam/crawlab #docker pull mongo 后面设置了使用自己的MongoDB,不用Crawlab的,所以这一步不用装 pip install docker-compose 在作为主节点的服务器创建配置文件并命名为docker-compose.
2022-04-24 12:35:00
2844
3
原创 绕过网站的检测DevTools
在做爬虫时,要打开DevTools分析网页结构和请求,但有的网站禁止鼠标右键或者禁止F12,不让你打开DevTools,还有的检测到你强行打开DevTools时就自动将网页关闭。下面是解决方法。一.打开DevTools有些网站禁止鼠标右键,要想打开DevTools,有以下几种方法:按F12,有的网站只禁止鼠标右键,没禁止键盘F12 从浏览器右上角三个点里打开DevTools 装油猴脚本,有专门的脚本来绕过这个限制,鼠标右键就可以使用了;浏览器插件也行 浏览器里提前禁止js,如图1和图2,图
2022-03-29 14:52:03
8038
1
原创 创建以数字开头的scrapy项目
scrapy startproject xxx命令中,项目名只能含有数字、字母、下划线,且以字母开头,不能含有减号。创建以数字开头的scrapy项目,方面看的时候排序,知道先写的哪个,后写的哪个。可以先创建一个符合命名规则的项目,再改为scrapy_数字_xxx(更新,可以直接用这个名字创建项目,它符合规则,创建后不用再替换各文件中的旧名字),再将scrapy.cfg和settings.py中的旧名字替换为新名字。如果改名之前你用pycharm打开过项目,则还需修改.idea文件夹中的内容,也是将旧
2022-03-25 10:49:20
1137
原创 pycharm不显示已安装的python解释器或显示不全
本地有多个python环境时,在pycharm中可能显示不全,如图1,图1这里只显示了主环境和一个虚拟环境中的解释器,实际上我本地还有其他解释器,在不同的虚拟环境中,要想将它们添加到图1中,有两种方法。方法一这是全局设置。点击图1中的Add Interpreter,然后在图2左侧那一列中选择你的解释器类型,图中我选的Conda,因为我用的Miniconda,然后在右侧选择要添加的解释器在本地的路径,就是它在你电脑硬盘的哪里。如果你想将这个解释器也能应用在其他python项目,就勾上Make
2022-03-02 17:31:41
8251
2
原创 docker报错WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) afte
完整报错WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f1fddb10d00>: Failed to establish a new connection: [E
2022-02-15 00:13:30
6085
5
原创 xftp中文文件名乱码
CentOS中python代码生成的文件,保存时用的中文文件名。保存后在xshell中用ll命令正常显示中文文件名,但在xftp中文件名显示乱码,需将xftp的当前会话编码改为utf-8。参考链接
2022-02-05 00:08:15
4666
原创 腾讯云服务器迁移报错Other go2tencentcloud are running.
腾讯云服务器迁移报错Other go2tencentcloud are running.
2022-01-14 18:05:18
673
原创 删除B站动态或视频的评论(仅限自己的)
上篇文章爬取了B站数据,目的是删除自己的评论,具体在前言有说。现在得到了评论,该怎么删除(仅限自己的评论)?
2021-12-09 16:46:07
7329
8
原创 python爬虫之浏览器User-Agent大全
爬虫时需要伪造浏览器User-Agent,可以手动准备,也可以用第三方库自动生成。一.手动准备这是我从真实的浏览器上复制的User-Agent,即每个版本都是真实存在过的。但不保证我的版本号是连续的,如实际发布了版本号1、2、3,可我从1升级的时候已经发布了3,自动升级时就跳过了2,也就无法记录到版本号2。不过这不影响爬虫,只是如果你想搜集绝对全面的User-Agent的话,即不遗漏每个版本,那我这个手动记录的可能不全。版本号后面注释中的时间,只是发布当前版本时记录的,不一定代表"这是本月的第一
2021-10-24 10:24:00
20573
7
转载 分析网易云歌曲评论分析加密的JS并且解密,并使用Python抓取歌曲评论
转载自分析网易云歌曲评论分析加密的JS并且解密,并使用Python抓取歌曲评论 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn原文无法显示图片,后来原作者又单独上传了图片的压缩包,我仅将图片插入原文,未做其他修改。原作者的另一篇类似的文章对某网站进行JS逆向AES实战 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn一、首先我们打开网站,找到真实的URL然后我们打开开
2021-07-03 16:10:51
749
2
原创 celery发送邮件和celery定时任务
上篇文章学了celery基本使用,这篇学celery发送邮件和celery定时任务。celery发送邮件celery定时任务pip install flower==0.9.7,这是写文章时py库(含文档)里的最新版,但查文档时却查到了1.0.0版英文文档,0.9.1版中文文档,这三个文档的页面还都显示版本是latest,而且后两个的页面里也没有其他版本可换。后面在用flower时遇到了问题,又偶然查到celery文档中也有介绍。关于用法的介绍,这几篇文档的内容不太一样,如果你遇到了启动flowe
2021-06-18 20:09:54
1083
1
原创 Django中使用celery
环境,win10。项目用的数据库需提前配置好,我用的mysql。redis数据库需提前配置好,并启动,我已在服务器中配置,并将连接信息存入win10环境变量,后面的代码里从环境变量中读取连接信息。celery的安装和配置安装pip installDjango==3.2.2 pip installcelery==4.4.0 pip installcelery-with-redis==3.0 pip installdjango-celery-results==1.2.0 #基于Dja...
2021-06-04 17:14:44
912
3
原创 django-tinymce无法显示富文本编辑器,无法加载tiny_mce.js
问题django-tinymce版本3.3.0,前端页面无法加载出富文本编辑器,浏览器控制台提示tiny_mce.js加载失败网上的django-tinymce教程(他们的版本小于3)pip installdjango-tinymce 在settings.py中INSTALLED_APPS中添加'tinymce',前提是已添加应用,如'myApp' 在settings.py中添加TINYMCE_DEFAULT_CONFIG={ # 富文本编辑器的配置,前端页面里没配置时使用这里的配置.
2021-06-02 18:51:35
1967
转载 django.db.utils.OperationalError: (1050, “Table ‘someTable‘ already exists“)
新建了一个Django项目,想使用之前项目的模型和数据库,将之前的模型代码复制过来,执行迁移时报错django.db.utils.OperationalError: (1050, "Table 'someTable' already exists"),意思是这个表在数据库中已存在。解决方法一.不保留数据库中那个同名表的数据删除数据库中的这个表 删除migrations文件夹里和这个表相关的迁移文件 再删除数据库中django_migrations表中的对应记录,记录的name的值和删除的迁移
2021-05-16 15:46:29
1603
1
原创 Django删除mysql迁移记录
先删除migrations文件夹里的迁移文件,再删除数据库中django_migrations表中的对应记录,记录的name的值和删除的迁移文件的文件名相同。
2021-05-16 12:04:11
442
原创 Django创建项目名含数字和中文的项目
无论是用django-admin startproject命令还是用pycharm创建Django项目(pycharm创建时选Django),项目名中不能以数字开头,且不能使用-号。可以先创建一个以字母开头的项目,创建好了后,再手动将文件夹改为自己需要的名字(有两个文件夹需要改,改之前它们的名字一样),这时能以数字开头、能含-号、能含中文。改好之后复制新名字,再将刚才创建项目后自动生成的asgi.py、settings.py、urls.py、wsgi.py中的旧名字替换为新名字,保存。之后pyc
2021-05-11 23:37:20
300
原创 flask或flask-restful接口开发之用户登录验证
有一个接口,需要用户登录后才能访问,有两种实现方式。一种是从flask_httpauth导入HTTPBasicAuth,再创建HTTPBasicAuth的对象;另一种是自定义装饰器,被装饰的函数,需登录才能访问。一.HTTPBasicAuthfrom flask import Flask,jsonify,gfrom flask_script import Managerfrom flask_httpauth import HTTPBasicAuthfrom flask_restful imp
2021-05-07 23:16:44
2862
原创 python使用文件路径时最好用绝对路径,而不是相对路径
什么时候出现了问题?之前的文章,里面在用PIL生成验证码图片时,设置字体时一开始这样写的font=ImageFont.truetype('times.ttf',size=40)且字体文件和这句代码所在文件都处于同一个目录,理论上引用处于同一目录内的文件时是可以直接使用被引用文件名的。用pycharm在本地启动这个项目,验证码图片正常生成。可是将所有项目文件上传到服务器(腾讯云CentOS),在服务器上用uwsgi启动项目,验证码图片却加载失败了,uwsgi的日志里有报错OSError: can
2021-05-06 13:43:35
2491
原创 python验证码,python将PIL生成的图片进行base64编码并返回给前端浏览器
我用python的PIL生成了验证码图片,需要将图片返回给前端浏览器,有两种返回方式。一种是返回response,另一种是将图片进行base64编码后返回。注意:PIL生成验证码图片时,需要传入font参数,是字体文件,从系统中复制出来的字体文件不能改名,而且它的路径最好写绝对路径,否则在服务器运行或者说原生终端运行时,会找不到这个字体文件,导致无法生成验证码图片,去服务器日志查看有报错OSError: cannot open resource。若是在本地用pycharm运行,不写绝对路径也没有这个问题
2021-05-05 22:38:35
1728
原创 linux添加和删除系统环境变量
将数据库的IP和密码放在系统环境变量中,代码里通过获取环境变量来连接数据库,可以避免把代码给别人时泄漏数据库信息。添加方法一我用了zsh,所以vim ~/.zshrc,你没用的话是vim ~/.bashrc,在末尾添加export PASSWORD="123456",然后source ~/.zshrc,你没用的话是source ~/.bashrc。可以用python的print(os.getenv('PASSWORD'))或print(os.environ.get('PASSWORD'))查
2021-05-05 00:52:51
911
原创 flask或flask-restful的接口开发,返回的json数据能显示中文的方法
用flask或flask-restful开发接口时,返回给前端的数据中若有中文,在postman的raw里或浏览器直接访问,中文会显示成unicode编码之后的形式,下面是使之显示成中文的方法。情况一若没用Flask-RESTful,只用flask,针对视图函数里下面三种返回的方法,只要创建app后加一句配置,app.config['JSON_AS_ASCII']=False,则postman的raw数据或浏览器直接访问,都显示中文。参考链接1,参考链接2return {'msg':'状态'}
2021-05-04 05:02:23
2258
原创 pycharm获取不到环境变量
win1020H2,pycharm2020.3启动pycharm后,再添加环境变量,然后在pycharm里获取不到os.environ.get()和os.getenv(),打印它们的类型为None。但添加环境变量后,再另外写一个py文件,不要用pycharm运行它,用其他软件运行,可以获取到环境变量。若是在启动pycharm前,就已经添加了环境变量,那上面的方法可以获取到。所以若是pycharm获取不到环境变量,就重启pycharm。可能的原因在参考链接5:When any process.
2021-04-12 19:22:54
4130
1
原创 安装uwsgi报错
执行pip3 install uwsgi后报错Building wheel for uwsgi (setup.py) ... error ERROR: Command errored out with exit status 1: command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-k8k02_sl/uwsgi/setup.py'"'"';
2021-04-07 17:08:47
4812
2
原创 nginx的安装与网站配置
安装我用的源码安装,下载源码后解压 进入刚才解压得到的文件夹 执行./configure --prefix=/usr/local/nginx,--prefix是配置安装目录 如果上一步报错,可能是缺少依赖或编译器,执行sudo apt-get install gcc libpcre3-dev zlib1g-dev 切换到root用户(因sudo也不行),进入第二步的文件夹,执行make && make install 进入/usr/local/nginx/sbin,执行./n.
2021-04-06 21:06:59
430
转载 html中input文本框的内容不符合要求时的错误提示
方法一:后端的表单验证器,部分框架有现成的,不满足自己的需求时可自定义一个。如WTForms,点提交后才触发验证,如果有不合法的内容,会清空所有内容(包括合法的),需全部重新输入一次。用户体验不如方法二。验证器里可以直接传入验证失败时的提示,即直接传入字符串。方法二:前端Ajax验证,可设置文本框失去焦点时验证,是实时的验证,用户体验好。在要验证的输入框后添加span标签,用于显示验证是否成功的提示。flask里一开始我的表单都是根据类渲染生成的,验证用的方法一。后来从bootstrap复制了一个表
2021-03-03 14:56:09
10998
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人