python
文章平均质量分 65
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
风雨「83」
木秀于林,风必崔之。出外言行,慎之慎之!
展开
-
python中,数组 nums[:] 和nums有何区别?
分配给某个变量时,该变量实际上仅仅是指向了原始列表对象的引用,因此对该变量的任何更改都会反映在原始列表对象上。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。表示对这个列表进行切片操作,切片操作的结果是返回一个新的列表对象,其中包含了原列表中的所有元素。实际上切片是生成了一个新的拷贝。的区别在于,前者是一个指向原始列表对象的引用,而后者是一个新的、独立的列表对象。来创建一个新的列表对象,则对新列表对象的任何更改都不会影响原始列表对象。原创 2023-06-30 15:10:53 · 581 阅读 · 0 评论 -
nginx liunx最新版本安装flask部署
1.进入Nginx官网的资源下载页:http://nginx.org/en/download.html2.下载nginx-1.22.1.tar.gz,解压完成后会在当前目录下得到一个新的nginx文件夹4.终端进入nginx文件夹目录,执行配置命令,等待配置完成5.继续在终端执行指令,将Nightx编译安装在上一步配置的目录/usr/local/nginx-1.22.1等待安装完成。6.进入安装目录/usr/local/nginx-1.22.1下的sbin目录,执行指令./nginx。原创 2023-05-15 10:31:40 · 649 阅读 · 1 评论 -
Python-Flask 快学
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。 Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。 [1] 中文名 Flask 外文名 Flask 也被称 “microfr...原创 2023-03-27 11:47:15 · 1297 阅读 · 1 评论 -
selenium爬虫如何防止被浏览器特征抓取反爬,undetected_chromedriver他来了。
undetected_chromedriver 可以防止浏览器特征被识别,并且可以根据浏览器版本自动下载驱动。安装方式:pip install git+https://github.com/ultrafunkamsterdam/undetected-chromedriver.git一个简单的例子 ,懂车帝对selenium反爬挺厉害,通过undetected_chromedriver可轻松搞定。import undetected_chromedriver as ucimport ss原创 2021-07-05 08:27:25 · 16581 阅读 · 36 评论 -
Python中__init__,__new__,__call__的用途
python中所有的对象都有一个从创建的,被使用,再到消亡的过程,不同的阶段由不同的方法负责执行。定义一个类时,用的最多的是__init__,而__new__,__call__用的很少。__init__方法__init__方法负责对象的初始化,系统执行该方法前,其实该对象已经存在了,要不然初始化什么东西呢?看一下例子。class A: def __init__(self): print('__init__') super(A, self).__ini原创 2021-04-23 09:40:30 · 508 阅读 · 1 评论 -
mitmproxy 爬虫抓包神奇
mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形式操作。mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。另一个是mitmweb,它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。一、准备工作请确保已经正确安装好了mitmproxy,并且手机和PC处于同一个局域网下,同时配置好了mi原创 2021-01-22 08:34:30 · 1336 阅读 · 0 评论 -
python3 函数定义,参数返回值,lambda函数的使用,高阶函数
Python3 函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:函数代码块以def关键词开头,后接函数标识符名称和圆括号()。 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。 函数的第一行语句可以选择性地使用文档字符串...原创 2021-01-21 10:33:24 · 810 阅读 · 0 评论 -
Python3 之列表推导式
列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。目标:列表推导式字典推导式集合推导式作用:创建一个有规律的列表/字典/集合它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句。那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以 if 和 for 语句为上下文的表达式运行完成之后产生。列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层.原创 2021-01-21 09:05:35 · 262 阅读 · 0 评论 -
python数组中怎样删除符合条件的元素?
在遍历python数组的时候去删除元素会改变数组里元素的下标,现在我在这里终结出几种方法能够做到。第一种/*利用从后往前遍历的方法来删除不符合条件的元素*/List_a = list(range(10))print List_afor i in range(len(List_a)-1,-1,-1): if List_a[i]%2 == 0: del List_a[i] print List_a 第二种/*利用filte.原创 2020-12-23 11:03:43 · 7304 阅读 · 0 评论 -
python3 uiautomator2 页面滚动、滑动操作
一、滚动操作:scroll1、含义理解:滚动页面,与坐标无关系2、源码示例:3、实际代码演示:# 垂直滚动到页面顶部/横向滚动到最左侧d(scrollable=True).scroll.toBeginning()d(scrollable=True).scroll.horiz.toBeginning()# 垂直滚动到页面最底部/横向滚动到最右侧d(scrollable=True).scroll.toEnd()d(scrollable=True).scroll.ho..原创 2020-12-08 09:30:48 · 11179 阅读 · 0 评论 -
docker 配置spark环境
1.拖取Spark镜像docker pull bde2020/spark-master2.运行Spark镜像# -h 主机名 -e 是否开机自启动,我选了truedocker run -itd --name spark-master -h spark-master -e ENABLE_INIT_DAEMON=true bde2020/spark-master 3.启动Sparkdocker exec -it spark-master bash4.启动Pytho原创 2020-08-11 11:12:35 · 716 阅读 · 0 评论 -
docker hadoop集群配置
环境1、操作系统: CentOS 64位网路设置hostname ip cluster-master 172.18.0.2 cluster-slave1 172.18.0.3 cluster-slave2 172.18.0.4 cluster-slave3 172.18.0.5 一、docker 安装二、拉去centos最新版本镜像docker pull centos 2.1 按照集群的架构,创建容器时需要设置固定IP,所..原创 2020-08-10 15:47:47 · 463 阅读 · 1 评论 -
Python 实现色情图片识别
使用 Python 识别图片是否为色情图片,会使用到 PIL 图像处理库编写算法来划分图像的皮肤区域。其中,课程会涉及到 Python 基础知识,肤色像素检测与皮肤区域划分算法,Pillow 及argparse 的使用。知识点Python 3 模块的安装 Python 3 基础知识 肤色像素检测与皮肤区域划分算法 Pillow 模块的使用 argparse 模块的使用原理:本程序根据颜色(肤色)找出图片中皮肤的区域,然后通过一些条件判断是否为色情图片。程序的关键步骤如下:遍历每原创 2020-07-17 17:16:33 · 3506 阅读 · 4 评论 -
Docker如何查看一个镜像内部的目录结构及文件
前言:有时候我们会在docker上下载一个镜像,或者是上传一个镜像到docker上,甚至有时候就是在系统上更新了某个镜像的,这时候我们为了确定都更新了哪些内容,就需要去docker上查看该镜像都更新了哪些内容,与我们的预期是否相符。原理:docker上存在的是镜像,镜像运行起来之后就叫做容器。要想查看镜像里面都有什么,那就先要让镜像运行起来,可以进入容器内部查看。1. 查看都有哪些镜像:docker images2. 查看都有哪些容器:docker ps -a 、3. 进入容器(con原创 2020-06-08 09:35:26 · 20712 阅读 · 2 评论 -
Docker运行Flask应用部署
一、安装dockermac 可直接下载桌面应用并安装:https://www.docker.com/products/docker-desktopdemo文件结构:本步骤依赖于安装完好的docker运行环境运行封装到Docker之中。我们需要为该应用创建一个requirements.txt文件,以便Docker环境的安装。bushu/requirements.txtflaskgunicorngevent有了这个文件,在安装Flask应用依赖的三方包时,可以直接用如下命令执行原创 2020-06-07 10:37:14 · 10713 阅读 · 0 评论 -
flask gunicorn部署 from gunicorn.workers.async import AsyncWorker ^ SyntaxError: i报错
运行:gunicorn app:app -c gunicorn.conf.pygunicorn.conf.py脚本文件workers = 5 # 定义同时开启的处理请求的进程数量,根据网站流量适当调整worker_class = "gevent" # 采用gevent库,支持异步处理请求,提高吞吐量bind = "0.0.0.0:8888" # 监听IP放宽,以便于Docker之间、Docker和宿主机之间的通信报错信息Error: class u.原创 2020-06-07 09:57:55 · 13784 阅读 · 0 评论 -
mac下连接夜神模拟器
1.adb连接单个模拟器夜神模拟器,x86架构# adb connect 127.0.0.1:62001 网易MUMU模拟器# adb connect 127.0.0.1:7555 逍遥安卓模拟器# adb connect 127.0.0.1:21503 天天模拟器# adb connect 127.0.0.1:6555 海马玩模拟器 # adb connect 127.0.0.1:53001 蓝叠模拟器,支持arm架构# adb connect 127.0.0.1:55.原创 2020-06-06 21:19:11 · 10436 阅读 · 2 评论 -
mitmproxy环境搭建与证书安装
mitmproxy还有两个关联组件,一个是mitmdump,它是mitmproxy的命令行接口,利用它可以对接Python脚本,实现监听后的处理;另一个是mitmweb,它是一个Web程序,通过它以清楚地观察到mitmproxy捕获的请求。一、mitmproxy安装1.安装mitmproxy.GitHub:https://github.com/mitmproxy/mitmproxy2.查看本机IP,并启动mitmdump.启动之后,可以看到:Web server listening .原创 2020-06-04 11:20:28 · 25939 阅读 · 8 评论 -
atxserver2部署
ATX2是远程控制Android和iOS的设备管理平台,该平台技术栈为Python3+NodeJS+RethinkDB一、架构图二、ATX2安装RethinkDB安装:https://rethinkdb.com/docs/install1.安装rethinkdb安装db:mac上安装很简单,执行brew install rethinkdb启动db:nohup rethinkdb &docker 安装启动【因操作系统版本兼容问题,建议docker环境安装】下载:d.原创 2020-06-03 17:30:22 · 11399 阅读 · 0 评论 -
uiautomator2+mitmproxy+weditor+Python3抖音数据抓取
一、uiautomator2UiAutomator是Google提供的用来做安卓自动化测试的一个Java库,基于Accessibility服务。功能很强,可以对第三方App进行测试,获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作,但有两个缺点:1. 测试脚本只能使用Java语言 2. 测试脚本要打包成jar或者apk包上传到设备上才能运行。我们希望测试逻辑能够用Python编写,能够在电脑上运行的时候就控制手机。这里要非常感谢 Xiaocong He (@xiaocong),他将这个原创 2020-06-02 11:15:46 · 14768 阅读 · 0 评论 -
Spark Streaming详解《八》
一、Spark Steaming概述Spark流是核心Spark API的扩展,支持可伸缩、高吞吐量、容错的实时数据流处理。数据可以从许多来源获取,如Kafka、Flume、Kinesis或TCP套接字,并且可以使用复杂的算法进行处理,这些算法用高级函数表示,如map、reduce、join和window。最后,处理后的数据可以推送到文件系统、数据库和活动指示板。事实上,您可以将Spark的机器学习和图形处理算法应用于数据流。二、常用实时流处理框架Storm:真正实时流处理 yoJav...原创 2020-05-27 09:38:47 · 14360 阅读 · 0 评论 -
PySpark之Spark SQL的使用《七》
Spark SQLis Apache Spark's module for working with structured data.原创 2020-05-26 10:22:42 · 15851 阅读 · 0 评论 -
PySpark之Spark Core调优《六》
一、WEBUI-HistoryserverEvery SparkContext launches a web UI, by default on port 4040, that displays useful information about the application. This includes:A list of scheduler stages and tasks A summary of RDD sizes and memory usage Environmental infor原创 2020-05-25 08:42:36 · 15824 阅读 · 0 评论 -
Spark运行模式以及部署《四》
Spark运行模式有5种:1)local本地模式或者开发测试模式,./bin/pyspark \ --master local[4] \ --name spark001通过$SPARK_HOME/bin/pyspark --help 可查看帮助2)standalonestandalone为spark自带集群管理,分为master和worker节点。首先配置conf/slaves.temlate,增加集群节点。# A Spark Worker will.原创 2020-05-16 23:50:44 · 20724 阅读 · 0 评论 -
PySpark之算子综合实战案例《三》
一、词频统计需求:统计一个或者多个文件中单词次数。文本样式如下:分析:首先将文本数据读入转为为rdd,并通过flatmap进行切分成单词,然后进行map转化成(k,num),再通过reducebykey累加, def wordCount(): # file = 'file:///Users/wangyun/Documents/BigData/script/data/data.txt' # sys.argv[1] rdd = sc.tex原创 2020-05-15 18:04:33 · 22307 阅读 · 0 评论 -
hadoop,pySpark环境安装与运行实战《一》
一、环境准备1)安装java jdk下载java jdk 并在~/.bash_profile配置#export JAVA_HOME=/Users/wangyun/Documents/BigData/App/jdk1.8.0_60#export PATH=$JAVA_HOME/bin:$PATHexport JAVA_HOME=$(/usr/libexec/java_home)export PATH=$JAVA_HOME/bin:$PATHexport CLASS_PATH=$JAVA原创 2020-05-13 17:26:19 · 22210 阅读 · 1 评论 -
Python简介和行业应用方向
一、简介Python的创始人为荷兰人吉多·范罗苏姆 [4] (Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python's Flying ...原创 2020-05-07 08:03:50 · 24878 阅读 · 0 评论 -
爬虫验证码识别,汉字点选,倒立文字识别,英文字母数字识别
http://www.chaojiying.com/about.html 这个可以识别汉字点选验证码原创 2020-04-27 10:09:04 · 21063 阅读 · 1 评论 -
Python3 lambda表达式全解
lambda语法lambda [arg1 [,arg2,.....argn]]:expression冒号:左边arg1~argn是传入参数,可以传入多个值,也可以添加默认值,跟正常函数一样,冒号:右边是expression,参数的表达式。表达式中出现的参数需要在:左边中有定义,注意: 表达式只能是单行lambda实例def sum(arg1, arg2): total =...原创 2020-04-27 09:54:13 · 29561 阅读 · 0 评论 -
python3 jieba分词的用法
首先安装对应环境,建议使用虚拟环境以下命令用于安装virtualenv:pip install virtualenv此命令需要管理员权限。您可以在Linux / Mac OS上的 pip 之前添加 sudo 。如果您使用的是Windows,请以管理员身份登录。在Ubuntu上, virtualenv可以使用它的包管理器安装。Sudo apt-get install virtu...原创 2020-04-10 09:29:39 · 30999 阅读 · 0 评论 -
selemiun bilibi自动登录,鼠标拖动验证码识别。
# -*- coding: utf-8 -*- # @Time : 2020/3/27 7:02 AM# @Author : wywinstonwy# #@desc:from selenium.webdriver.chrome.options import Optionsfrom selenium import webdriverfrom selenium.webdriver im...原创 2020-04-09 08:21:50 · 31023 阅读 · 0 评论 -
elasticsearch模糊搜索,搜索建议(suggest),自动补全
首先构建mapping,并制定字段解析器。解析器采用中文ik_max_word类型,es默认不支持,需要自己下载解析包扩展。中文解析包下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases加载elasticsearch对应的解析包并配置到elaticsearch/plugins/ik,ik文件夹需要自己创建,创建完后将...原创 2020-04-08 09:50:25 · 36109 阅读 · 0 评论 -
scrapy,scrapd可视化管理 spiderkeeper安装与配置
首先下载安装spiderkeeper,sudo pip3 install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com spiderkeeper启动 spiderkeeper直接在控制台输入:spiderkeeper 启动。启动后通过 5000端口访问 : http://12...原创 2020-04-07 14:46:10 · 20576 阅读 · 0 评论 -
Scrapy-Splash基本用法与部署
Scrapy框架之Scrapy-Splash的使用 https://github.com/scrapy-plugins/scrapy-splash1.安装python3.72.安装pip33.安装 python3组件pip3 install scrapypip3 install requestspip3 install scrapy-splashpip3 i...原创 2020-04-04 21:02:11 · 20855 阅读 · 0 评论 -
使用FlaskMigrate实现数据库迁移
在使用FlaskMigrate插件之前,应该确保开发环境配置已经安装了flaskscript,然后再安装FlaskMigrate插件。安装命令为:(venv)>pip install flask-migrate初始化和更新迁移数据库操作:python manager.py db init#用于初始化一个迁移脚本的环境python3 manage.py db migrate...原创 2020-04-04 18:10:26 · 31477 阅读 · 0 评论 -
正则表达式,python正则表达式
一、正则表达式主要元素1)^ $ * ? + {3} {3,} {3,6} |2) [] [^] [a-z] .3) \s \S \w \W4)[\u4E00-\u9FA5] () \d先看看单个字符含义字符 含义 ^ 以开头什么,如:^1[3456789]\d{9},以1开头第二位可以是3,4,5,6,7,8,9中任意一位,最后为9位数据 ...原创 2020-04-01 17:36:26 · 33408 阅读 · 0 评论 -
scrapyd部署后通过命令:url http://localhost:6800/cancel.json -d project=xx 无法快速终端任务处理办法
scrapy在运行爬虫的时候通过curl http://localhost:6800/cancel.json -d project=qctt -d job=a22dde1272ef11eaa2e0784f43945ed3 并不能把及时暂停爬虫。然后依然能看到方法1:scrapyd上可以查看到pid,可以在服务器上用kill pid杀掉进程,如果kill pid失败,可以用kill -...原创 2020-04-01 08:33:17 · 32535 阅读 · 0 评论 -
scrapyd,scrapy部署
/Library/Frameworks/Python.framework/Versions/3.7/bin/scrapyd-deploy:23: ScrapyDeprecationWarning: Module scrapy.utils.http is deprecated, Please import from w3lib.http instead.from scrapy.utils.http...原创 2020-03-31 08:07:43 · 33290 阅读 · 0 评论 -
python爬虫加载动态网页的几种方式,selenium,splinter,Scrapy Splash,PhantomJS,Chrome,Firefox
部分网站是动态js加载,加载网页后无法找到实际抓取内容。如今日头条等,反爬比较厉害,api不好破解的情况下只能通过浏览器模拟渲染加载方式,不过selenium等驱动浏览器很有一定标识和指纹,很容易被识别。selenium浏览器driver 源码中某个变量名是表示该驱动特征的,变量名会被识别,一般办法是改变变量名称或者拦截包含该变量名的请求就行了,拦截需要中间件。由于修改太繁琐,网上也有编译好的Ch...原创 2020-03-24 11:03:18 · 25399 阅读 · 0 评论 -
python3 selenium chromedriver被反爬识别的解决办法
反爬比较严的网站会识别selenium driver中的js属性,导致页面加载识别,可以通过本地手动驱动浏览器解决。启动方式:在windows或者mac下找到浏览器执行文件,然后运行:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222#手动启动浏览器"""...原创 2020-03-16 16:32:25 · 26063 阅读 · 0 评论