随笔分类 - python
python学习,动态语言有很多有意思的东西啊
摘要:最近需要写爬虫,在解决docker-standalone-chrome 发现只能有一个chrome被执行。所以写了这个多线程并发控制类来管理。当模板记录下。 #! /usr/bin/env python3 import threading import traceback from loguru i
阅读全文
摘要:Python上下文管理器 简介 最近用到这个,仔细了解了一下,感觉是十分有用的,记录一下 使用场景 当我们需要获取一个临时打开的资源,并在使用完毕后进行资源释放和异常处理,利用try catch语句可以完成,举个例子。 打开文件: 利用上下文管理器: 这样可以利用with as语句改写代码,让程序员
阅读全文
摘要:日志配置 一般日志配置 为了在控制台规范的打印 文件日志配置 写入文件的日志配置。 1. 旋转日志配置 写入文件,并且可以规定最大大小,自动滚动删除日志。 2. 控制台打印日志 可以同时写文件也在控制台打印,主要是看选择哪些handler。 scrapy写文件通用日志配置 日志打印 等级依次增高 常
阅读全文
摘要:一、windows 前置安装 安装win32api包: 安装Twisted,需要此 "非官方库" 中间部分找到类似如下: Twisted, an event driven networking engine. Twisted‑19.2.1‑cp27‑cp27m‑win32.whl Twisted‑1
阅读全文
摘要:简介 这个谷歌的识别项目早就听说了,使用之后发现,真的很厉害。写下初次简单使用的过程吧。 安装tesseract 谷歌的开源识别项目 我下了这两个,chi是扩展的识别中文需要,只安装.exe即可,然后配置环境变量 chi_sim.traineddata tesseract-ocr-w64-setup
阅读全文
摘要:问题简介 我写爬虫,用到了asyncio相关的事件循环,新建了一个线程去 ,在docker中运行。后来程序有异常,主线程挂了,但是竟然不报错。查了很久,才找出来。 如果你新建一个线程去运行一般的死循环,主线程出错退出,是会报错的,虽然子线程还会继续运行。 如果你新建一个线程去运行 ,主线程出异常退出
阅读全文
摘要:简介 今天遇到需要裁剪base64字符串的PNG图片,并返回base64格式字符串的任务,捣鼓半天。 裁剪代码如下: 如果需要保存
阅读全文
摘要:简介 今天在写python程序的时候,遇到了编码问题,今天,我准备好好了解一下编码问题 ASCII编码 计算机是美国人发明的,最初只有不超过256字符需要编码,1字节能编码2 8个,所以ASCII编码就是这么来的。现在的键盘,不用输入法能打出来的字符,都在ASCII码表里。 其他编码 后来,计算机逐
阅读全文
摘要:[TOC] 简介 aiohttp需要python3.5.3以及更高的版本,它不但能做客户端爬虫,也能做服务器端,利用asyncio,协程,十分高效 "官方文档" 采集模板 一批,一次性采集 动态添加任务 动态添加任务,封装成类
阅读全文
摘要:线程池,进程池 python的多线程并不是完全鸡肋的存在,得分情况来看。在IO密集型任务下,能提高多倍效率。在CPU密集型任务下,使用多进程也能规避GIL锁。 python3标准库 比原Thread封装更高,多线程 ,多进程 利用 来进行各种便捷的数据交互,包括处理异常,都在result()中再次抛
阅读全文
摘要:[TOC] 简介 python写的程序多了,发现很多方法,很多小工具可以复用,记录起来,做成目录,或者直接贴代码 一、python内置 单例模式 日志模块(Logging) "Logging" 装饰器 计时装饰器 上下文管理器(Context Managers) "上下文管理器" 多线程 "Thre
阅读全文
摘要:selenium + chrome 很多难以采集的网站都使用selenium爬取,但是后来发现selenium有特征值,会被检测出来,今天来小结一下反反爬方案 测试网站 全绿好像代表没被检测出 中间人修改js 网上很多都是这种博客,不知道靠不靠谱 pyppeteer 这种python的异步请求库,似
阅读全文
摘要:上篇:详细介绍selenium-grid 一、安装Docker 必须要使用docker-ce版(注意),不要装错,装错了卸载并换源,ubuntu和Centos7不一样,就不细说了,官方教程 二、安装Docker-Compose库 环境 需要python2.7或python3其余版本没试过 CentO
阅读全文
摘要:[TOC] 瞎扯一句 最近在做一个关于 selenium 相关的项目,在选择浏览器方面,一般有3种方案: 1. chrome 2. phantomJs 3. firefox(推荐) 网上有很多教程是关于PhantomJS的,可是,在2018.3.4日,git开源项目上,ariya宣布暂停更新,具体时
阅读全文
摘要:一、docker安装 Ubuntu 1.检查内核版本大于3.10 unama -a 2.更新apt源 sudo apt-get update 3.安装docker sudo apt-get install -y docker.io 4.(建议)更新成国内源 为了永久性保留更改,您可以修改 /etc/
阅读全文
摘要:问题 今天在使用pymysql连数据库的时候,出现了一个bug,查询数据库某个数据,但是在我在数据库中执行sql语句改变数据后,pymsql的查询依然没有发生改变。 代码如下: 解决问题 首先,我们还是找出问题原因,并解决它,查阅相关文档后可知,因为我们的查询语句执行后,没有 ,这会导致查询事务没有
阅读全文
摘要:同步请求库requests用来做测试和简单爬虫其实非常好用的,今天来讲一讲,毕竟不熟悉就用,吃了很大亏啊,文档一定要好好看 http://docs.python-requests.org/zh_CN/latest/user/quickstart.html 一、最简单常用的用法 GET请求 POST请
阅读全文
摘要:一、下载,安装python3和python2 地址:https://www.python.org/downloads/windows/ 可以点选latest:2.7和3.7 1.下载安装python3 下载完msi文件后,安装,python3可以,点击勾选 add python3.6 to path
阅读全文

浙公网安备 33010602011771号