python
文章平均质量分 67
渔父歌
这个作者很懒,什么都没留下…
展开
-
windows 注册表详解以及使用 Python操作注册表
1 Windows注册表很多程序将配置保存在注册表中方便读取。注册表是一个树状结构,每一个节点可以有子节点,并且每个节点可以有自己的值。这些值就是程序保存在注册表中的配置信息,值有名词、类型和数值三个属性。1.1 值类型其中类型表示保存值的类型,常见的类型有:类型说明REG_BINARY二进制数据REG_DWORD32位数字REG_DWORD_LITTLE_ENDIAN小端格式的 32位数字,等价于 REG_DWORDREG_DWORD_BIG_ENDI原创 2021-03-13 00:52:29 · 1211 阅读 · 0 评论 -
python合并多个装饰器
import functoolsdef multi_decorators(*args): """ 合并多个装饰器 越靠前的装饰器就越靠近被装饰的函数 """ def _inner(func): wrap = functools.wraps(func) for decorator in args: f...原创 2019-10-24 07:33:15 · 339 阅读 · 0 评论 -
python包管理工具——pip的使用
pip是python自带的包管理工具,我们可以使用pip来安装、卸载和更新python包,这篇文章会介绍几条常用的pip命令,以便大家更方便的使用python。1、安装python包pip install python包名国内有时候网速太慢,可能会导致安装失败,这时使用国内的pip源来安装就可以有效地提高速度。国内的pip源都是pip官方源的镜像,两者的内容没有任何区别,不过国内的源下载速...原创 2019-04-14 16:22:29 · 351 阅读 · 0 评论 -
scrapy爬虫框架(四):scrapy中 yield使用详解
开始前的准备工作:MySQL下载:点我python MySQL驱动下载:pymysql(pyMySql,直接用pip方式安装)全部安装好之后,我们来熟悉一下pymysql模块import pymysql#创建链接对象connection = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='...原创 2018-08-24 22:02:00 · 7144 阅读 · 7 评论 -
实战:异步爬取之异步的简单使用
一、使用异步的注意事项异步代码中不能有耗时的 I/O操作,像文件读写、网络请求、数据库读写等操作都需要使用对应的异步库来代替。 异步代码要尽可能短小,短小的意思就是功能要尽可能细分,前面讲过异步在任务量较少的时候性能并不能达到最优,我们可以通过合理地拆分代码来增加任务量,从而达到提高性能的目的。二、使用异步需要了解的两个重要的类 AbstractEventLoop,我们可以把它简称为...原创 2018-08-17 15:43:00 · 404 阅读 · 0 评论 -
实战:异步爬取之初识异步
一、为什么要用异步?许多之前没有听说过异步地朋友可能看到标题地第一反应就是:什么是异步?为什么要用异步?我们先来讲讲为什么要用异步,对于爬虫来说,在能够爬取到数据地前提下当然是越快越好,显然传统地同步代码不能满足我们对速度地需求。这时候我们想到了多线程,虽然多线程能够提高速度,但是单论效率来说多线程是不如同步代码的,因为还要花费资源来管理线程而且多线程还有资源竞争的问题,这就不得不...原创 2018-08-16 13:50:00 · 315 阅读 · 0 评论 -
实战:简书爬取之多线程爬取(二)速度提升何止10倍
一、程序结构既然要使用多线程,那么关于多线程的使用的模型我们也要了解一下。许多新手在写多线程的代码时总是喜欢把代码一股脑全部塞在一个类中。这样的写法其实是对多线程的错误使用首先就程序设计来说,这样不符合模块化的设计其次就是这样的代码往往会有很严重的竞争问题,需要很多的资源锁来保证线程安全,这样就拉低了程序执行的速度。实际上,多线程往往是和生产—消费模型挂钩的,以我们的简书文...原创 2018-07-22 11:38:00 · 255 阅读 · 0 评论 -
一个大胆的想法,爬取简书所有的文章信息
在上一篇我们写了一个爬虫脚本,这个脚本可以通过用户的 uid爬取对应用户的所有文章的信息并保存到本地。既然我们已经可以爬取单个用户的所有文章了,那我们就想,是否能够爬取更多用户的文章信息?比如说我们定个小目标:爬取所有简书用户的文章信息。这个小目标好像有点难度,那我们再定一个小小目标,先爬他个一万篇文章的信息。这样看起来就简单多了,等我们爬到了一万篇文章信息,再爬十万、一百万、一 ...原创 2018-07-12 20:20:00 · 593 阅读 · 6 评论 -
chromedriver与chrome版本对应表及chromedriver和chrome各版本下载
镜像1:http://npm.taobao.org/mirrors/chromedriver/镜像2:http://chromedriver.storage.googleapis.com/index.html对应表:chromedriver版本支持的Chrome版本v2.41v67-69v2.40v66-68v2.39v66-68v2.38v65...转载 2019-05-25 14:58:18 · 3667 阅读 · 0 评论 -
python大整数开方——gmpy安装
https://github.com/aleaxit/gmpy/releases/tag/gmpy2-2.1.0a1打开上面的网址选择对应的版本下载,下载好之后使用pip安装wheel文件。注意版本号一定要严格对照,否则可能会安装失败。以gmpy2-2.1.0a1-cp36-cp36m-win32.whl为例,cp36表示python36版本,win32表示windows32为版本的解释器,...原创 2019-06-21 00:21:51 · 7132 阅读 · 1 评论 -
python执行cmd命令的几种方法
1、os.system(command)command是要执行的命令,该方法没有返回值,并且会阻塞程序。如果不需要获取命令行的输出的话,可以在命令前使用start,这样函数就会立即返回,而不会阻塞程序。os.system('start python')2、os.popen(command)command是要执行的命令,该方法不会阻塞程序,调用后立即返回一个TextIOWrapper对象,...原创 2019-07-14 18:43:44 · 2999 阅读 · 0 评论 -
python使用openpyxl和xlrd读写excel文件封装工具
依赖包:openpyxlxlrdpython版本:3.6.4使用文档:一、读取文件# filename为文件路径,绝对路径和相对路径都可以# encoding为可选参数,对应 xlrd的 encoding_overide,如果你不知道自己在干什么的话就不要设置reader = ExcelReader(filename, [encoding])1、遍历行行的格式有两种,一种返回...原创 2019-07-05 21:57:56 · 604 阅读 · 0 评论 -
使用pycharm编写Django单元测试文件时报错:AttributeError: 'Settings' object has no attribute 'ROOT_URLCONF'
打开pycharm设置,设置好manage.py文件和settings文件。原创 2019-07-18 00:14:22 · 3299 阅读 · 0 评论 -
python实现单例模式详解
一、单例模式**意图:**保证一个类仅有一个实例,并提供一个访问它的全局访问点。**主要解决:**一个全局使用的类频繁地创建与销毁。**何时使用:**当您想控制实例数目,节省系统资源的时候。**如何解决:**判断系统是否已经有这个单例,如果有则返回,如果没有则创建。**关键代码:**构造函数是私有的。应用实例:1、一个班级只有一个班主任。2、Windows 是多进程多线程的,在...原创 2019-08-03 22:52:26 · 893 阅读 · 0 评论 -
实战:爬取简书之多线程爬取(一)
在上上篇我们编写了一个简单的程序框架来爬取简书的文章信息,10分钟左右爬取了 1万 5千条数据。现在,让我们先来做一个简单的算术题:假设简书有活跃用户一千万人(不知道简书有多少活跃用户,我只能往小了算)平均每人写了 15篇文章,那么一共有一亿五千万篇文章我们10分钟爬取了 1万 5千篇,凑个整算 2万那么爬取一亿五千万条数据需要150000000 / 20000 = 10...原创 2018-07-20 16:47:00 · 292 阅读 · 0 评论 -
python一键生成网易云音乐评论词云
闲着无事,写了一个网易云音乐评论爬虫,评论爬下来我得用啊,所以又写了个生成词云的脚本。代码写出来用着还不错,就又想着为什么不封装好让大家都能用呢。于是就产生了这个项目。项目地址:一键生成网易云音乐评论词云使用方法:非常简单# 声明一个对象music_id = '26608973'wordcloud = WangYiMusicWordCloud(music_id, mask='mask....原创 2018-12-31 14:13:45 · 729 阅读 · 1 评论 -
python学习(二)爬虫——爬取网站小说并保存为txt文件(三)
python上一篇写了怎样获取整本小说并写入文件,但是速度实在太慢,这一篇我们使用多线程来提高爬取速度一:多线程模块 threading创建线程创建线程有两种方法 第一种是继承threading.Thread类,并重写它的init和run函数 代码如下:import threadingclass gettext(threading.Thread): ...原创 2018-03-22 21:36:57 · 3691 阅读 · 2 评论 -
python学习(三)scrapy爬虫框架(二)——创建一个scrapy爬虫
在创建新的scrapy爬虫之前,我们需要先了解一下创建一个scrapy爬虫的基本步骤第一步:确定要爬取的数据以爬取豆瓣电影数据为例: 每部电影所要爬取的信息有:片名:《头号玩家》导演: 史蒂文·斯皮尔伯格编剧: 扎克·佩恩 / 恩斯特·克莱恩主演: 泰伊·谢里丹 / 奥利维亚·库克 / 本·门德尔森 / 马克·里朗斯 / 丽娜·维特 / 更多…类型: 动作 / 科幻 /...原创 2018-04-07 17:46:13 · 946 阅读 · 0 评论 -
python学习(二)爬虫——爬取网站小说并保存为txt文件(二)
前面我们已经完成了单章小说的爬取,现在我们来爬取整本小说一:获取小说章节列表在小说网站里没不 小说都有自己的章节目录,里面记录了所有的小说章节地址。 我们要想获取整本小说就要先得到小说的章节列表 m.50zw.la的章节列表格式为http://m.50zw.la/chapters_加上小说id,即http://m.50zw.la/chapters_1/这个链接指向的是id为1...原创 2018-03-21 14:10:44 · 5590 阅读 · 10 评论 -
python学习(二)爬虫——爬取网站小说并保存为txt文件(一)
一:获取小说页面所需模块import requests #获取网络连接目标小说网站:http://m.50zw.la获取页面r = requests.get('http://m.50zw.la',params=re_header)requests的高级特性这里的re_header是HTTP请求头,用来模仿浏览器访问,避免被网站发现 获取方法如下 1,用chrom...原创 2018-03-18 23:27:15 · 13382 阅读 · 3 评论 -
安装python模块时出现错误:UnicodeDecodeError: 'utf-8' codec ...的解决办法
找到路径:d:\python\lib\site-packages\pip\compat__init__.py 用编辑器打开,将里面的utf-8和utf_8全部替换为gbk 这是因为Windows的文件系统采用的是gbk的编码方式,所以用utf-8就会出错...原创 2018-03-21 22:26:50 · 5000 阅读 · 0 评论 -
python学习(三)scrapy爬虫框架(三)——爬取壁纸保存并命名
写在开始之前按照上一篇介绍过的scrapy爬虫的创建顺序,我们开始爬取壁纸的爬虫的创建。 首先,再过一遍scrapy爬虫的创建顺序:第一步:确定要在pipelines里进行处理的数据,写好items文件第二步:创建爬虫文件,将所需要的信息从网站上爬取下来,并传递给pipelines文件处理第三步:pipelines接收spiders传递过来的数据,并做出相应的处理,如:壁纸的下载和...原创 2018-04-15 11:14:52 · 1088 阅读 · 1 评论 -
python学习(三)scrapy爬虫框架(一)——scrapy框架简介
1.安装scrapy框架#打开命令行输入如下命令pip install scrapy2.创建一个scrapy项目打开命令行,输入scrapy startproject project_name这个命令会在当前目录创建一个scrapy爬虫项目,项目文件夹结构如下:yourproject/ scrapy.cfg yourproject/ ...原创 2018-04-03 21:31:48 · 364 阅读 · 0 评论 -
python学习(三)scrapy爬虫框架(四)——数据库的使用
开始前的准备工作:MySQL下载:点我 python MySQL驱动下载:pymysql(pyMySql,直接用pip方式安装)全部安装好之后,我们来熟悉一下pymysql模块import pymysql#创建链接对象connection = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwo...原创 2018-04-16 19:24:28 · 393 阅读 · 0 评论 -
Linux上安装 python3
安装 python3的博客链接 设置快捷命令#打开 python3的安装目录cd /user/local/python36cd binpwdalias pip3='/user/local/python36/bin/pip3'alias pythons='/user/local/python36/bin/python3'#设置好之后 就可以在任意目录下直接使用 pip3和 py...原创 2018-07-02 12:06:10 · 138 阅读 · 0 评论 -
利用简书图片上传功能搭建快速免费的图床
关键代码:cookie:简书登录之后的 cookie filepath:要上传图片的绝对路径,同目录下可直接使用名字 filename:要上传图片的名字(随意取)def uploadImage(cookie, filepath, filename): upload_url = 'https://upload.qiniup.com/' token_url = 'https...原创 2018-07-11 21:43:48 · 1245 阅读 · 0 评论 -
Linux上 Django+Nginx+uwsgi部署网站
这里只讲配置问题,Nginx和 uwsgi的下载请自行百度在往下看之前,强烈建议大家先看文档,文档看不懂再来看本教程,因为毕竟每台机器的具体情况都不同,文档链接: uwsgi:http://uwsgi-docs-cn.readthedocs.io/zh_CN/latest/WSGIquickstart.html Nginx:https://nginx.org/en/docs/假设已经下...原创 2018-07-06 13:22:26 · 533 阅读 · 0 评论 -
Windows、Python3、opencv无法打开摄像头问题
开开心心地把 opencv安好了,结果敲代码地时候发现死活打开不了摄像头。一直以为是 opencv没有安装好,后来发现 QQ也不能打开摄像头,这肯定不是 opencv的问题了。在网上一搜,原来是 Windows默认关闭了摄像头权限,除了Windows自家的应用外,其他的应用都不能使用摄像头。这时候我们只要在设置里把摄像头权限开放就行了:...原创 2018-10-08 10:53:22 · 6040 阅读 · 3 评论 -
django配置sqlserver出错
django配置sqlserver出错出现错误:[^Could not connect because the maximum number of '1' dedicated administrator connections already exists. Before a new connection can be made, the existing dedicated administ...原创 2018-10-19 00:14:40 · 946 阅读 · 0 评论 -
python3.6+django_2.1配置sqlserverer_2018_R数据库
一、创建登录名和用户名安全性->登录名->右键:新建登录名填写登录名->勾选 SQL server身份验证->输入密码->去掉强制密码策略前面的勾点击用户映射->勾选右下角的数据库成员身份:一般勾 db_reader, db_writer和 db_owner就可以了->勾选右上角 djang原创 2018-10-19 10:30:27 · 992 阅读 · 1 评论 -
python学习(一)列表
一:列表可包含任意类型的对象的有序集合通过下标访问元素可变长度、可任意嵌套支持原位改变对象对象引用数组二:列表的初始化x = [1,2,3]name = list("1234")三:通用操作判断某个元素是否在列表内score = [1,2,3,4,5,6,7]result = 2 in score#result is trueresul...原创 2018-03-14 21:55:33 · 156 阅读 · 0 评论