- 博客(82)
- 资源 (4)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Linix环境下 Gunicorn + Supervisor + Nginx 部署 Flask 项目、Celry定时任务
首先先把项目文件上传到服务器制定目录, 然后在终端用ssh username@ip的方式访问服务器,flask项目一般都是再虚拟环境下运行的,常规启动web服务都是先进入虚拟环境,再执行对应的启动文件。默认只启用单线程来处理web交互数据,一旦用户较多,就会出现阻塞导致页面卡住,很显然用户体验不佳,因此为了能够尽可能的提高服务器处理数据,希望能开启多个线程处理web交互,可以采用Gunicorn控制运行项目。1.安装gunicorn可以进入虚拟欢迎安装该插件pip install gunicorn
2020-06-04 11:59:14
1458
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 python爬虫采集反爬策略
一、爬虫与反爬简介爬虫就是我们利用某种程序代替人工批量读取、获取网站上的资料信息。而反爬则是跟爬虫的对立面,是竭尽全力阻止非人为的采集网站信息,二者相生相克,水火不容,到目前为止大部分的网站都还是可以轻易的爬取资料信息。爬虫想要绕过被反的策略就是尽可能的让服务器人你不是机器程序,所以在程序中就要把自己伪装成浏览器访问网站,这可以极大程度降低被反的概率,那如何做到伪装浏览器呢?##### 1....
2020-05-19 09:31:24
2653
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 安装Pandas报ImportError: DLL load failed: 找不到指定的模块的错误
安装命令:pip install pandasC:\Users\user>pip install pandasCollecting pandas Using cached https://files.pythonhosted.org/packages/d2/81/a1514c993ad8261a2053f356c3ea9a6ad41871a09a8ef9cf46789e371a63/pandas-1.0.3-cp36-cp36m-win_amd64.whlCollecting numpy&
2020-05-14 14:38:49
6908
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 python模拟登陆、POST/GET请求
通常我们在访问网页时,都会通过某个输入框输入数据,网页就会发出POST、GET或者其他形式向服务器发起请求,成功后并返回数据到前台展示。以下针对python的requests库做简单介绍。前提先安装python以及requests库安装requests:pip install requests请求测试url = http://www.test.com一、GET请求1、无请求参数:直接...
2020-03-27 11:43:34
12542
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 pip安装插件失败解决方法
问题:有时候用pip install xxx(插件名,如:lxml) 安装可能出现安装失败,提示:python中安装包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))…………解决办法:1.有时候是因为pip版本过低导致的问题,那就先更新下pip再次下载安装包:python -m p...
2020-03-26 16:15:09
2071
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Pandas基于StyleFrame设置表格样式
对于Excel样式设置库——StyleFrame,也做简单介绍:1、安装:pip install StyleFrame2、基础数据暂时都用data(模拟数据)做测试。from StyleFrame import StyleFrame, Stylerfor sheet in data.keys(): sf = StyleFrame(data[sheet]) #实例化数据对象s...
2020-03-26 14:46:58
9878
1
原创 解决Python字符串拼接原生SQL,带单双引号或者斜杠出错的问题
1.如果是单双引号,不需要保留的情况下可以直接替换成空。以上就是由于在字符串拼接时单引号被转义导致的问题。2.特殊字符或者斜杠。
2023-02-23 14:19:52
2319
1
原创 CentOS修改主机名、主机密码
查看主机名以下列出几种查看主机名的方式://查看一下当前主机名的情况,查看全部三种主机名[root@docker ~]# hostnamectl Static hostname: docke //或者,查看全部三种主机名[root@docker ~]# hostnamectl status Static hostname: docker //只查看静态、瞬态或灵活主机名,分别使用--static,--transient或--pretty选项[root@docker ~]# h
2021-08-12 09:27:00
1282
原创 Python利用opencv给图片加水印
给图片加水印有时候为了注明出处或者版权问题,需要在图片或者视频加上水印,今天先讲怎么给图片加水印!安装opencv库注意不是这样安装:pip install opencv以上安装方式会提示错误:Collecting opencv Could not find a version that satisfies the requirement opencv (from versions: )No matching distribution found for opencv正确安装如下:
2021-07-05 14:33:07
579
原创 企业微信webhook使用
用企业微信作为公司办公软件的公司有需要如果需要监控或者定时提醒业务就可以使用企业微信自带的机器人工具作为消息的发起者!添加机器创建一个至少3个人的群聊。如果只是为了加机器人可以先拉人进群随后将其他人剔除即可,这个设计还是有点鸡肋啊,如果我就想给自己通知消息暂时都采取这种方式。添加完群聊就可以在群设置里面添加机器人,设置完成后即可看到机器人,如果想让机器人发消息,只需要post请求机器人的webhook地址。发送消息也可以打开机器人里面也有相关demo实例。import requestsimpo
2021-06-23 16:06:56
11634
原创 Python重构 - 第4部分
编写干净的 Python 代码就是要使其尽可能易于理解且简洁。后期便于维护,代码约简洁越好维护,bug就越好排查。将重复的代码提取到一个方法中不要重复自己 (DRY) 是编写干净、可维护代码的重要原则。重复的代码使代码库膨胀,使其更难阅读和理解。它也经常导致错误。如果仅在某些重复区域中进行更改,则经常会出现意外行为。消除重复的主要方法之一是将公共区域提取到另一种方法中并调用它。def extraction_example(): self.speed_slider = Scale(
2021-06-23 15:53:36
200
原创 Python重构 - 第3部分
编写干净的 Python 代码就是要使其尽可能易于理解且简洁。后期便于维护,代码约简洁越好维护,bug就越好排查。使用 str.join() 而不是 for 循环在 Python 中连接字符串最直接的方法是使用+ 运算符:hat_description = hat.colour + hat.type当您将少量字符串连接在一起时,这非常好(尽管 f 字符串是处理更复杂字符串的最佳选择)。当它们用于连接大型字符串列表时,就会出现使用+or的问题+=。例如,您可以像这样在 for 循环中使用它们:a
2021-06-15 16:47:33
164
原创 Python格式化时间 - locale使用
之前在爬取后跨境电商平台的数据时,采集的时间需要进行数据清洗,但是由于时间格式多样性,就需要采用修改时区的方式对时间进行格式化处理!常见的格式如下:美国时区:June 11, 2021德国时区:19. Dezember 2020英国时区:05 March 2021除了以上三种格式还会有其他时间格式!设置时区如果在设置时区过程中出现以下错误:>>> import locale>>> locale.setlocale(locale.LC_ALL,
2021-06-11 16:03:15
830
3
原创 Python重构 - 第2部分
编写干净的 Python 代码就是要使其尽可能易于理解且简洁。后期便于维护,代码约简洁越好维护,bug就越好排查。'with’打开文件时使用以确保关闭在 Python 中打开和使用文件的常用方法是:file = open("welcome.txt")data = file.read()print(data)file.close() # 这里一定要close但是,如果在打开和关闭文件之间抛出异常,则最终可能会跳过对 file.close() 的调用。解决此问题的一种方法是使用这样的代码。这里的
2021-06-09 13:57:22
337
3
原创 通过Flask的request对象获取url
flask开发过程中,有时候需要获取当前请求url的相关数据,那么可以用以下方式获取url!!flask测试请求地址:http://127.0.0.1:5000/main/index?page=10实例如下:from flask import request@main.route('/main/index', methods=['GET', 'POST'])@login_requireddef index(): host_url = request.host_urlrequest更多方法:
2021-06-01 11:34:58
4693
原创 datetime时间模块相关用法
https://docs.python.org/zh-cn/3/library/datetime.html#date-objectsdate用法一datetime.date(year, month, day)正确实例:>>> from datetime import date>>> date(2020,9,4)datetime.date(2020, 9, 4)错误实例:>>> date(2020,09,04) File "&
2021-04-27 16:24:16
945
原创 docker 打包项目后无法链接redis
首先需要安装redis,使用docker安装redis教程如下:1.查找可用版本docker search redis2.拉取镜像docker pull redis:latest3.查看镜像docker images4.安装镜容器docker run -itd --name redis-test -p 6379:6379 redis说明:-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服
2021-04-09 09:52:02
1219
原创 python 解决mysql where in 对列表(list,,array)问题
其实在很多实际开发中都会用到where xxx in (list)的查询语句进行数据查询,一般接口传参为了方便都会直接传递数组,那么该如何快捷的格式化sql语句呢实例:SELECT * FROM test where status='SUCESS' and operator_id in ('5122','5123');前台传给过来的参数:{ "status": "SUCESS", "operator_id": ['5122','5123']}格式化:filter_ret = ','.j
2021-04-08 16:36:26
2214
转载 Nginx停止服务和各种命令
1.停止Nginx服务的四种方法从容停止服务这种方法较stop相比就比较温和一些了,需要进程完成当前工作后再停止。nginx -s quit立即停止服务这种方法比较强硬,无论进程是否在工作,都直接停止进程。nginx -s stopsystemctl 停止systemctl属于Linux命令systemctl stop nginx.servicekillall 方法杀死进程直接杀死进程,在上面无效的情况下使用,态度强硬,简单粗暴!killall nginx2
2021-04-07 11:28:27
759
原创 Mysql数据库主从同步实例(亲测)
今天来测试下数据的主从同步,前提是两台服务器均要下载安装mysql,具体的安装步骤可以参考之前的文章:CentOS安装magento2.x教程名称IPmsyql-master(主库192.168.204.130mysql-slave(从库)192.168.204.151开启时间同步关闭防火墙#两台都要修改systemctl stop firewalldsetenforce 0getenforce修改hosts文件#两台都要修改 vi /etc/hos
2021-03-18 14:43:24
687
原创 python调用JS方法实例
安装插件pip install pyexecjs直接安装可能会出错:C:\Users\Administrator>pip install execjsCollecting execjs Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY
2021-02-26 14:50:16
468
2
原创 python flask项目配置以及动态注册蓝图
已经挺久没做flask开发了,现在主要为了给大家分享一些关于之前flask项目开发的经验总结,希望对大家有所帮助!flask启动项目里的初始化文件一般包括,初始化app,初始化配置config,注册蓝图等步骤!最中规中矩的方式就是每次新增一个新的模块就在初始化文件中手动加两行代码用于蓝图的注册!项目配置文件config.py:其中SECRET_KEY一定要设置,且最好为随机数,可以防止csrf,不然会出现 Must provide secret_key to use csrf 错误提醒!# -*-
2021-01-25 14:45:49
1964
1
原创 selenium自动化加载chrome插件
安装插件访问google插件商店: 点击此处前往最好网络可访问google,否则可能打不开!查看安装路径1.在浏览器输入:chrome://extensions/ 可查看已经安装的插件,如下图:2.在浏览器输入:chrome://version 查看插件在本地的安装路径,如下图:实例from selenium.webdriver.chrome.options import Optionsfrom selenium import webdriverfrom selenium.webdr
2021-01-13 10:25:59
7812
2
原创 基于docker安装phpmyadmin竟如此简单
前提条件任意Linux系统且已成功安装docker环境安装phpmyadmin1.拉取镜像docker pull phpmyadmin如果由于网络原因导致无法成功拉取,可以先配置dokcer镜像源,也可以在国内网站先下载好镜像的压缩包,然后导入也可以!配置镜像源:Docker中国区官方镜像:https://registry.docker-cn.com网易:http://hub-mirror.c.163.comustc:https://docker.mirrors.ustc.edu.
2020-12-24 11:30:44
7151
原创 实测docker安装、打包镜像、上传到docker远程仓库
先决条件:在linux下实现安装好docker环境1.在centOS下部署一个简单的flask项目文件start.py,如下:项目目录:/home/www/testfrom flask import Flaskapp = Flask(__name__)@app.route('/')def test(): return 'This is Flask!'if __name__ == '__main__': app.run(host='0.0.0.0', port=8080)
2020-12-17 17:30:42
4095
转载 轻松搞定python多线程和多进程
本文转自出自:作者:what is fantasy链接: https://www.cnblogs.com/whatisfantasy/p/6440585.html 1 概念梳理:1.1 线程1.1.1 什么是线程线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。一个线程是一个execution context(执行上下文),即一个cpu执行时所需要的一串
2020-12-16 15:44:51
436
原创 Python重构 - 第1部分
有时候回头看自己之前写的代码,觉得真的是不堪入目啊,哈哈哈,各种if嵌套,for循环一层又一层,代码过于冗长,代码看起来既不美观,又没啥可读性,甚至还影响运行速度。所以对于编写简洁、易于理解、可读性好的程序还是很有必要的,接下来总结一些常见的重构方法,希望借此自己总结一下经验,也顺便给大家分享一下!一、遇到多个if条件判断太多的嵌套会使代码难以理解,在Python中尤其如此,因为Python中没有括号来帮助描述不同的嵌套级别。阅读深层嵌套的代码令人困惑,因为您必须跟踪哪些条件与哪些级别相关。因此,我
2020-12-09 15:58:52
672
2
原创 两种快速查询主机公网IP的方法
有时候想查看自己主机的ip,一种方式是用控制台命令查询,另一种则可以在主机下访问某链接即可查询ip!方式一:命令查询linux系统:ifconfig如下图:windows系统:ipconfig如下图:方式二:访问链接查询有以下几个链接均提供返回ip地址的服务:http://ip.42.pl/rawhttps://ifconfig.me/iphttp://jsonip.comhttp://httpbin.org/iphttps://api.ipify.org/?forma
2020-12-08 11:14:50
17408
翻译 5个python重构技巧以改进您的代码
[导语] 重构是在不更改代码功能的情况下提高代码质量的过程。在提交代码之前花一些时间来重构代码可以使代码更具可读性,从而更易于维护。持续执行此操作会发现错误,并从噩梦般的地狱场景添加新功能到公园散步。理想情况下,单元测试将完全覆盖您的代码,使您可以放心地进行更改。如果不是,那么应该尽可能在重构之前添加测试。但是,如果您无法添加测试,则仍然可以通过使用自动化,安全的重构工具来实现很多目标。那么从哪里开始呢?本文包含5件简单的事情,您可以立即做,以使您的代码更易读,更美观。一、删除注释掉的代码这是最
2020-12-07 17:43:36
1762
原创 python链接Mysql写入数据报Python ‘_elementunicoderesult‘ cannot be converted to a MySQL type错误
有时候爬取页面数据直接用原生sql批量插入数据库会出现以下错误:Failed processing pyformat-parameters; Python '_elementunicoderesult' cannot be converted to a MySQL type这是因为通过lxml.etree获取到的字符串可能是_elementunicoderesult,这是Python中字符串的一种,直接把数据格式存入数据库并未将该类型变量转化为SQL对象的方法,因此需要强制转换为str类型,再进行数据
2020-11-17 10:39:19
1859
3
原创 CentOS安装magento2.x教程
参考文档:https://www.howtoforge.com/tutorial/how-to-install-magento-2-1-on-centos-7/步骤1-安装Nginx参考文档:https://devdocs.magento.com/guides/v2.4/install-gde/prereq/nginx.html#install-nginx-1在此步骤中,我们将从epel存储库安装Nginx。默认情况下,Epel不可用,因此我们需要在安装Nginx之前安装epel存储库。使用此yum
2020-10-30 10:09:11
4291
5
原创 成功解决pandas报AttributeError: DataFrame object has no attribute ix错误
在实际操作中有时候需要把采集的数据或者分析完的数据保存为excel中,列名按照执行排序,一开始我采用DataFrame的ix方式去实现是可以达到预期的,不过最近发现好像该方法函数被移除了,运行会抛出以下错误:Traceback (most recent call last): File "check_token.py", line 149, in <module> AdAccountManager(manage_log, path).refresh() File "check_
2020-10-26 11:01:26
24484
原创 Python爬虫之代理问题
对于从事爬虫的程序猿来说,反爬策略是必不可少的,其中添加请求头就是反爬的一种最为简单的策略。还有就是使用代理ip,说白了就是采集数据时采用不同的ip去访问你要采集数据的网址,可能很多人都会问为什么我需要用代理呢?不用不可以吗?用了代理之后发现爬虫抓取数据的速度反而下降了不少于是放弃爬虫代理的使用。当你抓取的数据达到一定量后,或者大批量采集时,你会发现程序会时不时给你报错,而且频率越来越来高。这说你的爬虫被人家识别出来了,对方的反扒系统已经记住了你。通常会告诉你连接超时、连接中断更有甚者不会直接中断你程序,它
2020-10-15 09:37:20
1323
原创 解决数据库unicode编码导致字符串读取问题
数据库设置编码为:utf8mb4_unicode_ci在业务上用数据库已经存储带空格的字符去对比真实输入带有空格的字符串数据,就会遇到表面上看过去一模一样,经过程序对比却是返回False例子:数据库可视化查询结果如下:用程序查询出来的结果:>>> data[('Free\xa0Pray')]这显然无法正常匹配的上,用unicodedata库即可解决该问题。解决方案:new_str = unicodedata.normalize("NFKD", unicode_str)
2020-09-04 16:00:56
985
原创 Flask异步操作实例
之前遇到过一个问题就是执行某个操作,也要对数据库进行读写,且数量较大,时间比较久,用户点击一个按钮,会卡很久才跳出完成或刷新页面,这显然不符合用户体验,可以说是体验很差,后来去了解了一些线程、好像一旦访问数据库就会报app不存在或未定义等错误。后来找到一个方法,但是一开始也不太懂的新建app,然后用原生态的sql命令对数据库进行增删改查,这虽然解决了页面卡顿问题,但是后台的增删改查操作却显得比较繁琐,很明显这也不太符合做开发。后来上网查阅资料,发现可以自己在该异步函数中新建一个app,即可访问数据库,但好像
2020-08-28 09:47:18
1364
原创 Facebook 应用开发认证和授权登录流程
前段时间由于工作需要,对fb授权登陆并获取对应的访问令牌(access_token),即授权登陆!调研了facebook应用开发相关事项,阅读官方API文档, 并整理资料与大家分享。本文是关于facebook认证和授权方面的资料整理,结合自己的实际测试总结该文章,希望对大家有所帮助!Facebook 平台使用OAuth2 协议作为认证和授权协议,它有两种认证流程,服务器端流程(Server-Sizde Flow)和客户端流程(Client-Side Flow), 这些认证流程可被用于开发网站应用,移动应用
2020-07-30 09:15:37
9207
2
原创 Python使用logging模块实现日志记录实例
logging模块简介logging模块是Python的一个标准库模块,开发过程中,可以通过该模块,灵活的完成日志的记录。logging模块提供了两种记录日志的方式:1)使用logging提供的模块级别的函数(logging.basicConfig,logging.debug,logging.info…)2)使用logging模块的组件(loggers,handlers,filters,formatters)Python logging日志级别表 1 Python logging日志级别
2020-07-29 14:34:15
1232
1
原创 python实现词频统计并展示
一篇文章如何可以快速锁定核心内容,可以初步用文章中出现频次最高的词语作为文章的核心。那有什么办法快速展示呢?下面就以一篇AI人工智能的文章作为测试文件,测试结果如图:1、想要实现该效果,首先需要先安装好python,然后还需要在自己的电脑安装以下几个插件:pip install re # 正则表达式库pip install collections # 词频统计库pip install numpy # numpy数据处理库pip install jieba # 结巴分词pip instal
2020-07-07 09:24:44
4137
python链接sql操作数据库封装
2020-11-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人