python开发

[置顶] Linux常用运维命令和linux常用管理操作命令(整理)

Python下Flask使用Flask-Mail为网站注册发送邮件

使用的环境python3+flask

pip install flask-mail

这里使用163的邮箱作为发送者。
注册163邮箱之后,去设置 -> POP3/SMTP/IMAP(在右侧导航栏),然后开启你的SMTP服务,这时候会让你设置客户端授权码,这个授权码是重点,一定要记住

类型 服务器名称 服务器地址 SSL协议端口号 非SSL协议端口号
发件服务器 SMTP smtp.163.com 465/994 25

把这个表格也关注一下,里面的内容要去写到配置中去。

from flask import Flask
from flask_mail import Mail, Message


» 阅读全文

关键词: 发送邮件 , flask

Mac下解决flask [Errno 48] Address already in use 端口被占用问题

在编辑flask代码时,如果没有关闭flask的程序,默认的5000端口一直被占用。

再次运行flask程序时,会显示:

socket.error: [Errno 48] Address already in use 

lsof查进程

sudo lsof -i:5000

COMMAND PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
python  769 testUser    3u  IPv4 0x6ff9fe98d80592e1      0t0  TCP localhost:commplex-main (LISTEN) 

因为之前占用的5000端口,所以直接用lsof查该端口占用的进程。

可以看到是python占用了该端口,PID是769。可以用kill命令杀该进程,命令形式是sudo kill *pid*,其中*pid*就是pid号。

sudo kill 769

就可以结束该进程。


关键词: 端口 , flask

python3 使用flask错误出现“ModuleNotFoundError: No module named 'MySQLdb'”

flask在使用python3连接MySQL的时候出现了 ‘ModuleNotFoundError: No module named ‘mysqldb’’错误。

主要是因为MySQL-python 不支持 Python3.

ython3使用mysqlclient模块替代了python2的 mysqldb模块
【解决方法1】
安装mysqlclient模块
pip3 install mysqlclient
然后就可以正常运行了
【解决方法2】
安装pymysql模块
pip3 install pymysql
修改SQLALCHEMY_DATABASE_URI = ‘mysql://root:123456@127.0.0.1:3306/db_python’ 为:
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql: / /root:123456@127.0.0.1:3306/db_python '

关键词: flask , mysqldb , python

Python利用adb 做了个自动翻页,人脸识别抖音机器人

python利用adb 做了个自动翻页,人脸识别抖音机器人

功能:

抖音 APP 自动翻页

人脸检测

颜值分析

自动点赞

开发环境:

ADB 1.0.41

PyCharm 2019.2.2

技术点:

Android ADB tools

» 阅读全文

关键词: 抖音机器人 , 人脸识别 , python

python利用grequest 实现高并发爬虫

之前都是使用多线程来实现效率的提升,但是由于python的GIL锁的原因,导致所谓的多线程并不是多并发,而是当爬虫发出去的请求还未等到返回的间隙,继续执行别的线程,相当于交替轮流执行,是伪多并发。

grequest库封装了gevent和requests,实现了真正的多并发请求,不过也不是说来多少并发多少,也是有边界的,所以通过size参数设置一下同时并发数。


import grequests

urls = ["https://www.baidu.com", "https://www.hao123.com", "https://www.taobao.com"]
req = (grequests.get(u) for u in urls)

» 阅读全文

关键词: 爬虫 , grequest

python框架web.py中session会话使用,设置session,取session

官方给的session例子这里就不讲了。下面直接将怎么设置session,取session:

session相关代码一定要放在web.py框架的Main.py里面。


# Main.py
# 设置session

import web
import subsafe  # 子程序

urls = (
    "/safa", "Safe",   
    "/subsafe", subsafe.app
)


» 阅读全文

关键词: web.py , python框架

python脚本分析nginx日志1000条IP超过100次自动封 IP

最近有一些王八蛋,总是喜欢爬取网站内容,于是就想到利用python 脚本分析nginx日志1000条,

IP 1000次中超过100次 自动封 IP 功能,正常情况1000条记录,一般不会超过100个,当然,

你可以根据情况调整,python代码如下

#!/usr/bin/python

__author__ = 'jincon'

import os;
import string;

lines_ = os.popen("tail -n 1000 /home/www/nginx.log  |awk -F' ' '{print $1}'|sort|uniq -c|sort -n").read();
lines = lines_.split("\n");

for line in lines:
	if line != '':
		line = line.strip();
		lineArr = line.split(" ");
		if int(lineArr[0])>50:
			print lineArr[1]+"=="+lineArr[0];


print "ok";

这个代码,我没有写封 I P 的功能,封 IP,一般普通的服务器不外乎就 iptables 和 nginx 的 deny 了

iptables很简单,我就不说了。

nginx 的话,可以在 python 脚本里面把超过限制的 IP,写入到一个文件里面然后 nginx  ,include 就行了,当然你还要reload 下 nginx,注意,不要重启,没必要,只要加载配置文件即可。

最后就是加一个计划任务,譬如每隔5分钟运行一次,封特么的的。


关键词: python脚本 , nginx日志

Mac系统+MAMP中Python安装MySQLdb安装中的各种坑和解决办法

特么的,以前在linux服务器上,安装MySQLdb,其实只要 :

安装MySQLdb
pip install MySQL-python


就OK了,现在由于要在Mac系统安装,结果,各种报错啊。。报错我就不接图了,大体上有2种错误:

1、EnvironmentError: mysql_config not found

2、_mysql.c:44:10: fatal error: 'my_config.h' file not found

Mac os 安装 MySQLdb真是各种坑啊,没办法,由于要在本地开发一个小项目,不得已,也得安装啊.

google 一番之后:

Mac系统+MAMP中Python安装MySQLdb的正确安装姿势如下:

我的Mac 使用的 Mamp 的

» 阅读全文

Total: 20123Next ›