python
文章平均质量分 76
本专栏包含python语言基础知识,各类使用python进行开发的技术文章,欢迎大家关注!
橙子园
落地生根,长成参天大树
展开
-
一文教你用squid将闲置的服务器搭建成爬虫使用的高匿代理服务器
废话:我有一台centos7的服务器,吃灰了很久,本来用来部署博客网站的,但是也完全利用不起来,浪费我的钱啊!接下来我要让它成为一个高匿的爬虫代理服务器。场景:为什么要搭建这个东西,而不直接使用爬虫代理服务商提供的代理?假设根据爬取一个网站的经验发现这个网站在爬取频率不高的情况下不会封掉IP,但是我要求代理的质量要很高,不要像一些爬虫代理服务商提供的代理一样几乎没有多少请求是通的,虽然会使用重...原创 2020-07-16 17:37:21 · 2108 阅读 · 1 评论 -
DeprecationWarning: count is deprecated. Use Collection.count_documents instead.【对比全面详细】
环境python 3.7mongodb v4.2.1pymongo 3.9.0问题DeprecationWarning: count is deprecated. Use Collection.count_documents instead.print(cursor.count())场景当我使用pymongo查询出对应的cursor(find出的document的迭代器),然...原创 2020-04-09 11:12:33 · 4053 阅读 · 3 评论 -
python 使用ftplib连接ftp服务器获取目录、文件及它们的修改时间
需求:我要做的一个需求是根据目录、文件的修改时间来判断是否下载ftp的文件。由于ftplib中的FTP无法满足我这一需求,所以只能重写一个MyFTP类继承FTP,写一个方法来实现,除了这个还实现了一个获取当前目录下的所有目录及文件。from ftplib import FTPimport osimport reclass MyFTP(FTP): encoding = "utf...原创 2020-03-27 13:45:32 · 6157 阅读 · 3 评论 -
boto3连接aws的s3及注意事项
boto3文档:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/index.html原创 2020-03-26 13:38:56 · 3095 阅读 · 6 评论 -
centos7安装配置python3.7.3以及对pip3建立软连接管理依赖
步骤如果是在虚拟机安装的centos7,则需要先配置网络链接:参考:https://blog.csdn.net/Chenftli/article/details/103258508如没有wegt下载工具,使用以下命令安装:yum -y install wget1.下载python3.7.3的安装包wget https://www.python.org/ftp/python/3.7....原创 2019-11-26 17:21:43 · 1876 阅读 · 1 评论 -
错误:requests.exceptions.SSLError: None: Max retries exceeded with url:
报错requests.exceptions.SSLError: None: Max retries >exceeded with url解决安装更新的pyopensslpip install -U pyopenssl原创 2019-05-14 17:57:58 · 1828 阅读 · 0 评论 -
python虚拟环境(venv、virtualenv)及虚拟环境管理工具(virtualenvwrapper)
一、简介: python标准库在3.6以前,使用pyvenv来提供虚拟环境。而在3.6之后弃用,使用venv提供虚拟环境。除此之外virtualenv是另一个提供虚拟环境的库,virtualenvwrapper是一个虚拟环境的管理工具,它可以使得管理virtualenv、venv创建的虚拟环境更得心应手。二、用途: Python应用开发时,本机的Python环境中安装各种各样的包的话,随...原创 2019-05-06 15:42:23 · 3119 阅读 · 0 评论 -
selenium、python自动化测试时如何将页面蒙版或提示去掉
问题: python使用selenium做自动化测试时如何将页面蒙版或提示去掉.如图:点题: 这些页面蒙版会不会在页面展示,其实是由一个判断条件作用的。而这个条件通常会放在localStorage(局部存储器)中,我们可以通过js来操纵localStorage。下面顺便列出一下localStorage的使用方法:localStorage通过使用setItem(key,value)...原创 2019-05-05 18:41:52 · 3328 阅读 · 0 评论 -
python基础七:装饰器property用法及使用它重构代码时的应用实例
一、装饰器 我们知道装饰器可以将所需要的函数作为对象返回给需要用此函数处理的对象。而property装饰器则是将一个函数或者方法成为一个属性以供使用。@property这种语法糖形式简化了装饰器的使用。二、引导 在面向对象类型的语言中访问修改类中的属性时通常会自己写set或者get函数,对输出结果进行修饰或者对输入进行合法化检查。然而python可以提供一种优美的更直观的方法就是使用装饰...原创 2019-05-02 18:52:37 · 605 阅读 · 0 评论 -
python将json格式的字串或字典在控制台上优美的结构化输出(爬虫时查看接口reponse返回的json数据时用到)
python将json格式的字串或字典在控制台上优美的结构化输出一、实例:1.字典2.字串如果是字符串可以先用loads将字串转化成一个json对象,然后用dumps结构化后输出到控制台上。一、实例:1.字典import jsonst2 = {"data":{"actualCost":2200000,"batchId":"0","consultant":"主帐号(*7390)","con...原创 2019-03-23 08:50:26 · 1995 阅读 · 0 评论 -
python 数据结构基础一:线性表单链表的实现
单链表的实现一、前提二、总体工作三、实现1.定义链表结点类2.测试结点类对象的使用3.上面测试原理图(根据赋值原理)4.定义单链表对象类(包含一个异常类)5.测试单链表对象类一、前提需要理解类、实例、赋值原理等概念二、总体工作先定义一个链表结点类(LNode),用于生成链表结点。然后定义一个单链表对象类(LList),用于存储链表结点、操作结点数据。三、实现1.定义链表结点类clas...原创 2019-03-25 15:50:50 · 1053 阅读 · 0 评论 -
python正则表达式大全(常用数字、字符、常用的需求包括手机号、邮箱、电话号码、身份证号等)
一、正则表达式基础字符代表的意思\w 匹配所有的字母\W 匹配所有非字母\d 匹配所有的数字\D 匹配所有非数字\s 空格\S 匹配所有非空格. 任意除换行符(\n)\. 表示点符号,斜杠是转义字符常见的表达式:* 匹配0个或者多个+ 匹配1个或者多个$ 匹配字符串的结尾部分^ 匹配字符串的开...原创 2019-03-13 15:55:20 · 4815 阅读 · 0 评论 -
python执行appium程序时遇到如下报错,ImportError: cannot import name 'InvalidArgumentException'
报错:ImportError: cannot import name 'InvalidArgumentException' from 'selenium.common.exceptions' (/usr/local/lib/python3.7/site-packages/selenium/common/exceptions.py)原因:selenium.common.exceptions.py...原创 2019-03-05 15:42:43 · 2628 阅读 · 2 评论 -
python的.py文件 首行 #!/usr/local/bin/python解释
一、引导 通常安装python(以unix为例),会将python的执行文件安装在/usr/local/bin 子目录下,库文件安装在/usr/local/lib/python2.x或3.x 子目录下。当运行python的.py文件时需要给其指定python的可执行文件。二、解释 python脚本使用扩展名 .py, Unix 平台可以在不明确指定 python 解释器的情况下,自动执行...原创 2019-05-17 09:37:46 · 5700 阅读 · 0 评论 -
python一些常用功能的github仓库
最近整理了一点工作上python常用到的一些功能模块.包括:时间处理、模块处理对象等。如果有需要可以到github上下载。地址:https://github.com/Chenhonli/python-frequently-feature教程:https://github.com/Chenhonli/python-frequently-feature/wiki/关于时间的文档...原创 2019-05-13 09:33:03 · 1039 阅读 · 0 评论 -
scrapy获取当前请求网页时的cookie
1、请求CookieCookie = response.request.headers.getlist('Cookie')print(Cookie)2、响应Set-CookieCookie2 = response.headers.getlist('Set-Cookie')print(Cookie2)注意:爬虫时一般要获取网页上的cookie是指第一个请求Cookie...原创 2019-09-26 16:35:28 · 3176 阅读 · 0 评论 -
pyppeteer部署在centos7上出现的问题
1.error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory解决:安装libXScrnSaveryum install libXScrnSaver2.pyppeteer.errors.NetworkError: Protocol...原创 2019-09-26 16:07:11 · 1952 阅读 · 0 评论 -
python题目:判断数据是否是回文
简介:回文通俗点就是顺着读和倒着读数字的顺序都一样。思考:可以首先想到的方法就是逐一比较,再仔细发现只需要比较一半就好像可以了。下面是两种方法,一种是逐一比较,一种是比较一半(如果数据个数是单数则比到[n/2],偶数是n/2)。方法一:# O(n),不稳定(有最坏情况与最好情况)@count_timedef test(num): num = str(num) num_...原创 2019-09-26 13:07:57 · 2714 阅读 · 0 评论 -
python中实现单例模式以及网上的一些错误
单例模式简介:单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。例如:服务器程序的配置信息存放在一个文件中,客户端通过一个 Config 的类来读取配置文件的信息。当有很多地方都需要使用配置文件的内容时就需要创建 创建多个Config 对象的实例,从而浪费内存资源,尤其是在配置文件内容很多的情况下。列举几种实现单例的方法...原创 2019-09-25 17:13:02 · 1640 阅读 · 4 评论 -
python中的map()函数
环境:python3.7.3简介:map()是python中的内置函数,可以直接使用功能:将一个可迭代对象,通过一个函数生成另一个迭代器(但只能迭代一次)用法:map(函数, 可迭代对象)示例:def map_fun(x): return x ** 2# 返回b的类型是map类型, (map类型只能迭代一次,再次迭代为空)b = map(map_fun,...原创 2019-09-20 17:32:29 · 745 阅读 · 0 评论 -
python爬虫实例二:地图上的火锅美味
这次分享爬虫的一个小案例,本来还有数据分析的部分,但休息两天实在写不完代码,加上还要编辑图文。所以我打算分开写,有空就迭代迭代。。。先看下代码目录结构(目前还不会编辑好看的图文,谅解慢慢增强):有三个.py文件,map_craw.py、stat.py、store.py分别的功能是爬取数据、数据分析、将爬取的数据存储入mysql数据库中,由于stat.py还没写完,这篇文章主要讲数据的爬取与存...原创 2019-07-12 14:25:13 · 2264 阅读 · 0 评论 -
flask框架写的个人blog,supervisor+nginx+gunicorn部署躺过的坑总结一:部署问题及一些命令
【部署时走过的路】1、linux用户、用户组相关的命令。将创建的虚拟环境的所有者改为当前用户:sudo chown -R your_username:your_username path/to/virtuaelenv/对linux用户、用户组不熟悉的同学。尽量使用root账户,避免好多麻烦。2、supervisor安装完supervisor后有三个可用的命令行:echo_su...原创 2019-05-27 14:42:21 · 793 阅读 · 0 评论 -
alembic.util.exc.CommandError: Can't locate revision identified by 'd5ef4da461a1'
错误描述: 在flask项目中使用Flask-Migrate初始化sqlite数据库操作时,出错:alembic.util.exc.CommandError: Can’t locate revision identified by ‘d5ef4da461a1’点题: 原因已经在migrations下有个alembic_version版本d5ef4da461a1了,虽然你可能删掉mi...原创 2019-05-22 18:34:05 · 2824 阅读 · 0 评论 -
python + appium遇到的版本不匹配问题selenium.common.exceptions.WebDriverException: Message: Parameters were inc
问题:selenium.common.exceptions.WebDriverException: Message: Parameters were incorrect. We wanted {"required":["desiredCapabilities"],"optional":["requiredCapabilities","sessionId","id"]} and you se原创 2019-03-05 15:31:54 · 5068 阅读 · 0 评论 -
python爬取xici的免费代理、并验证(重点、清楚)
网上爬取xici的帖子很多,但是验证都说的不是很清楚,这里我会认真给大家解释这里我写了一个代理类proxy,写了四个方法(个人写法不必在意),get_user_agent(得到随机use-agent,请求头中最重要的一个)、get_proxy(爬取代理IP)、test_proxy(验证代理可用性)、store_txt(将可用的代理保存到txt文件中。1.爬取:headers是请求头,cho...原创 2019-01-30 13:27:19 · 3348 阅读 · 1 评论 -
互动吧爬虫实战+python
最近由于工作需要爬取一些数据,分享几篇文章爬虫实战的文章。网址:http://www.hdb.com/hangzhou/对于爬虫首先你要了解一些基础知识,Http 请求等。使用chrome浏览器,安装一个插件,可以使用浏览器的抓包工具,我这里使用的是Safari浏览器,大致一样。在浏览器右击有一个检查元素,我的是Inspect Element。我是用的是python,使用的reques...原创 2018-11-01 19:58:33 · 1284 阅读 · 0 评论 -
python模块导入以及sys库的添加路径使用
整体文件的路径是这样的:execute是我当前执行程序的模块模块导入:1.如果你要导入的模块或者文件夹下的模块与你要执行程序的模块在同一个目录下文件:import second_module文件夹:from second_file import second_file_moudle2.如果你要导入的文件或者文件夹下的模块,可以用sys来临时导入模块路径:导入路...原创 2018-10-26 15:56:51 · 12143 阅读 · 0 评论 -
问题:ubuntu下安装mysqlclient出现OSError: mysql_config not found
1.出现标题的错误是常有的事,一般都是依赖的问题,你需要安装mysqlclient的dev环境下的依赖库命令:sudo apt-get install libmysqlclient-dev2.然而一切不是那么顺利,安装的时候又出现下面的错误:libmysqlclient-dev : 依赖: zlib1g-dev 但是它将不会被安装E: 无法修正错误,因为您要求某些软件包保持现状,就是它...原创 2018-10-21 13:46:52 · 3419 阅读 · 0 评论 -
了解学习 Elasticsearch 及其与 Python 实现全文搜索
Elasticsearch简介ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。我们建立一个网站或应用程序,并要添加搜...转载 2018-10-10 20:03:10 · 3212 阅读 · 0 评论 -
python基础四:列表的切片、遍历、增加(append、extend、insert)、查找(index)、删除(del、pop)、嵌套常用用法。
列表切片用法:输出列表指定的位置的值。格式:列表变量名[指定下标]实例: 遍历的用法:遍历出列表的所有元素。格式:for 变量名 in 列表: print(变量名)实例: 增加的用法:增加有三种用法(append、extend、insert)append的用法:用于在列表末尾添加一个新的对象。格式:列表变量名.append(元素...原创 2018-04-14 09:24:23 · 4922 阅读 · 1 评论 -
python基础六:函数的几种类型与局部变量和全局变量、申明修改全局变量global与修改嵌套函数变量的nonlocal
阅读时注意看代码注释python定义一个函数格式:函数有无参数无返回值类型、无参数有返回值类型(返回特定数据时使用)、有参数无返回值类型、有参数有返回值类型(所有返回值要用关键字return返回)。def 函数变量名(形式参数): 执行语句(如果有返回值用return)实例:# 有参数返回型def dance(num): for i ...原创 2018-11-20 17:54:27 · 899 阅读 · 0 评论 -
python基础总结三:字符串的一些常用函数(count、replace、split、capitalize、title、upper、ljust、strip等)及操作
字符串:count用法:用来统计指定字符出现的次数,常用于数据清洗。格式:字符串变量名.count(要查找的字符,起始位置,结束位置)实例: replace用法:替换某个字符或字符串。格式:字符串变量名.replace(被替换的字符,替换的字符,替换的次数)实例: split用法:通过指定分隔符(默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等)对字符串进行切片,如果参数分隔次数有...原创 2018-04-12 23:06:51 · 2228 阅读 · 0 评论 -
python基础五:元组的index,del,count方法及字典的修改、增加、删除(del、clear)、遍历(keys、values、items)
元组:index、del、count的方法。index的用法:用来查找元组中元素对应的下标。格式:元组变量名.index(查找的元素)实例: del的用法:用来删除整个元组。格式:del 元组变量名实例: count的用法:用来统计元组中指定元素的个数。格式:元素变量名.count(查找的元素)实例: 字典:查找、修改、增加、删除、遍历。查找用法:直接...原创 2018-04-16 22:00:27 · 6463 阅读 · 3 评论 -
python基础总结二:判断语句、循环语句、字符串遍历、以及列表、元组、字典的简单使用 。
判断语句:if,if-else,if-elif格式:if 判断语句: 执行的语句注意:python语言是以缩进判断执行语句的,所以要执行的语句一定要按tab键缩放在if,下面所有的语句都是这样实例: ...原创 2018-04-09 22:59:49 · 788 阅读 · 0 评论 -
错误: TypeError: 'str' object is not callable,TypeError: 'int' object is not callable等
先说上面出现的原因:TypeError: 'str' object is not callable:就是str不可以被系统调用,TypeError: 'int' object is not callable:就是int不可以被系统调用原因就是:你正在调用一个不能被调用的变量或对象,就是你调用函数、属性变量的方式错误。你可能即定义了一个名为dance(这个名称是随便取的,我看到网上大多都...原创 2018-11-02 11:47:47 · 2133 阅读 · 0 评论 -
python线程:threading
线程的概念:简单理解就是操作系统对cup资源的分配调度下面用实例来讲一下threading的用法:我们假设你想听歌、看电影来度过愉快的周末,以前的操作系统都是单个处理任务,但是现在cpu,你可以同时做很多种事情。直接上代码,代码上看注释import threadingfrom time import ctime, sleep# 听歌、看电影可以在一个播放器下进行,我们要传入...原创 2018-11-02 18:33:07 · 777 阅读 · 0 评论 -
建数仓表时TypeError: expected type 'int' but type 'datetime.date' found
一直在maxcomputer上用pyodps建数仓表,讲讲其中一个巨大的坑就是它存储时间的时候是最后都是转化成时间戳存储的,如果你想把datetime类型的日期取出date存进去就会报:TypeError: expected <type 'int'> but <type 'datetime.date'> found例如: # pay_time是...原创 2019-01-23 09:50:32 · 1185 阅读 · 0 评论 -
python装饰器的方法:特性(property)、静态方法(staticmethod)、类方法(classmethod)
python装饰器的三种方法介绍及应用笔记, 用图片格式分享给大家。原创 2019-01-27 17:39:39 · 568 阅读 · 0 评论 -
Django创建web项目流程
下面是django创建web项目的基本流程,分享给大家:下一篇:Django简介和MVC、MTV的初识 https://blog.csdn.net/Chenftli/article/details/86557905原创 2019-01-27 17:34:06 · 896 阅读 · 0 评论 -
Django的简介和MVC及MTV的初步认识
已经总结了好几个月了,一直苦于没时间发,加上后来又忘记。现总结为xmind文件,我将它导出成图片的格式,便于发文。 下一篇:Django视图 https://blog.csdn.net/Chenftli/article/details/86666949...原创 2019-01-27 15:45:03 · 609 阅读 · 0 评论