
python
onionnmmn
这个作者很懒,什么都没留下…
展开
-
python 使用paramiko,ssh 报错ConnectionResetError: [Errno 104] Connection reset by peer
最近在使用paramiko,原本好好的代码,突然在连接linux报错下面这个问题,百度下,好像都没有一个实际的解决办法,简单追了下代码,顺手写一下解决办法,如何你有更好的解决办法,欢迎评论,报错问题如下一个 workaround办法如下原因大致如下:paramiko 认为它正在连接一个ssh agent,并尝试使用该ssh agent连接报错,通过加入allow_agent=False ,可以绕过这个问题...原创 2021-08-10 15:59:54 · 2127 阅读 · 0 评论 -
python快速开启一个http服务
目的:在我们工作中,经常遇到需要从远程服务器下载一些文件在本地分析(如tcpdump 抓的包)或者分享一些自身电脑安装包给同事,以下方法可能是一种很好的方式1. 进入文件目录,执行 python3执行:python3 -m http.server python2执行: python2 -m SimpleHTTPServer2. 浏览器页面访问即可下载...原创 2021-02-24 14:00:52 · 3137 阅读 · 0 评论 -
python 小技巧/易混点汇总(不定时更新)
[] 列表 {} 字典 / 集合 --->散列表() 元组[x for x in range(10)] 列表推导 ---->得出列表 --->迭代协议(x for x in range(10)) 生成器表达式--->用一个生成一个 (yield next() )#集合In [7]: a={'a','b','c','d'}In [9]: typ...原创 2019-10-31 17:36:14 · 153 阅读 · 0 评论 -
python __getattr__ __getattribute__
setattr(x,y,z) ----> x.y=zsetattr(Test,'x'.1) Test 为类对象getattr(object,name[,default])getattr(x,'y') -----> x.y不会触发__getattribute____getattr__:如果实例instance通过instance.name访问...原创 2019-10-27 20:45:07 · 192 阅读 · 0 评论 -
css选择器几种查找方式整理
css 选择器1.通过标签查找通过p标签获取print(soup.select('p')) #使用的bs4 select 方法,seleniumdriver.find_elements(By.CSS_SELECTOR,'p') 类似2.通过类名查找在类的前面加一个点“.”例如: 查找 class=onion的标签print(soup.select('.onion'...原创 2019-07-14 20:38:28 · 3826 阅读 · 0 评论 -
python json load/loads/dump/dumps 方法整理
json 支持数据格式1.对象(字典) 花括号2.数组(列表) 中括号3.整形、浮点型、布尔类型 null 类型4.字符串类型 (字符串必须要用双引号,不能用单引号)多个数据之间使用逗号注意:json本质就是一个字符串json dump/dumps 方法作用转换为jsonjson.dump 存与文件中json.dumps 转换为json字符串...原创 2019-07-14 20:54:15 · 610 阅读 · 0 评论 -
selenium笔记整理
零散常用的方法from selenium import webdriver# 调用键盘按键操作时需要引入的Keys包from selenium.webdriver.common.keys import Keys# 调用环境变量指定的PhantomJS浏览器创建浏览器对象driver = webdriver.PhantomJS()# 如果没有在环境变量指定Phantom...原创 2019-07-14 21:29:40 · 233 阅读 · 0 评论 -
scrapy入门到放弃(一)
scrapy 爬虫流程scrapy 爬虫流程和一般的爬虫流程基本一样,发送url,响应提取url和数据,数据存储,url重新放到url队列中Scrapy Engine(引擎) 总指挥:负责数据和信号在不同模块之间传递 scrapy实现 Scheduler(调度器) 队列,存放engine发送过来的request请求 scrapy实现 Downloader...原创 2019-06-30 15:05:40 · 435 阅读 · 0 评论 -
Flask 笔记整理--请求上下文流程
if __name__ == '__main__': app.run() #函数入口 -->调用 app.__call__整个流程如下globals.py 全局变量文件,这个是在启动之前启动_request_ctx_stack = LocalStack()app.__call__-->wsgi_app-->ctx =req...原创 2019-07-21 20:52:37 · 152 阅读 · 0 评论 -
xpath笔记整理
基本语法表达式 描述 nodename 选取此节点的的所有子节点 / 从根节点选取 // 匹配所有节点,不考虑位置 . 选取当前节点 .. 选取当前节点的父节点(类似linux) @ 选取属性 使用chrome插件选择标签时候,选中时,选中的标签会添加属性class="xh-h...原创 2019-06-30 16:51:11 · 204 阅读 · 0 评论 -
mongodb 索引
索引:以提升查询速度测试:插入10万条数据到数据库中> for(i=0;i<100000;i++){db.t1.insert({name:'test'+i,age:i})}WriteResult({ "nInserted" : 1 })> db.t1.find({name:"test10000"})>db.t1.find({name:'tes...原创 2019-06-11 20:23:45 · 191 阅读 · 0 评论 -
Flask 笔记整理--视图
1.Flask app对象创建参数初始化# 创建flask的应用对象# __name__表示当前的模块名字# 模块名,flask以这个模块所在的目录为总目录,默认这个目录中的static为静态目录,templates为模板目录app = Flask(__name__, static_url_path="/python", # 访问静态资...原创 2019-06-15 12:48:38 · 310 阅读 · 0 评论 -
python ssl SSLError(CertificateError("hostname '192.168.1.223' doesn't match 'test.xxx.org'"
证书不匹配问题SSLError(CertificateError("hostname '192.168.1.223' doesn't match 'test.xxx.org'"1.对于python自带的 urllib库 解决办法 import sslssl.match_hostname = lambda cert, hostname: True2. 对于requests 库,解决办法 ...原创 2018-05-14 18:46:34 · 10203 阅读 · 3 评论 -
python多线程(一)
线程创建Thread 类 创建线程的方法1.直接传要运行的方法2.继承thread类,重写run方法构造方法classthreading.Thread(group=None,target=None,name=None,args=(),kwargs={},*,daemon=None)group :线程组 暂未实现,将来扩展 ,必须为Nonetarget...原创 2019-04-14 16:54:05 · 1487 阅读 · 0 评论 -
python多线程(二)
线程锁:Lock :原始锁,目前可用的最低级的同步原语Rlock :可重入锁class threading.Lockclass threading.RLock实例方法:acquire(blocking=True,timeout=-1) 尝试锁定release() :释放锁,如果尝试释放没有锁定的锁会raise RuntimerError 异常加锁的目的多个不...原创 2019-04-14 17:18:00 · 331 阅读 · 0 评论 -
【数据结构】排序----简单排序(冒泡/插入)
只讨论基于比较的排序只讨论内部排序稳定性:任意两个相等的数据,排序前后的相对位置不发生改变没有一种排序是任何情况下都表现最好的时间复杂度下界:逆序对:对于下标 i < j ,如果 A[ i ] > A[ j ] ,则称 ( i , j ) 是一对逆序对(inversion)冒泡排序:比较相邻的两个元素,将大的放在右边,感觉就像泡泡上浮。一趟排...原创 2019-04-27 07:50:54 · 127 阅读 · 0 评论 -
【数据结构】排序 ----堆排序
堆排序使用最大堆,最小堆一般用于优先队列堆特点1.parent > children2.完全二叉树完全二叉树概念:从上往下,从左往右,结点依次添加以下都是完全二叉树parent 结点 > chidren 结点如图 子结点都小于父结点python 标准库 heapq 模块提供基于堆得优先队列得支持堆构建堆排序的时间复杂度O(nl...原创 2019-04-15 21:48:34 · 150 阅读 · 0 评论 -
mongodb 基本常用操作
服务启动服务启动mongod --config /usr/local/etc/mongod.conf客户端启动mongo 客户端退出exit control+C数据库相关操作查看当前的数据库:db查看所有的数据库:show dbs /show databases切换数据库:use db_name (如果没有就创建该数据库)删除当前的数...原创 2019-06-09 10:18:23 · 539 阅读 · 0 评论 -
python GIL(全局解释器锁)
python C 解释器有一个叫GIL 的东西作用:每个线程在执行的过程都需要先获取GIL,保证同一时刻只有一个线程可以执行代码。所以在python中,如果对于CPU密集型任务,多线程是没有用的,因为一个线程不会释放GIL;但是对于IO密集型任务,多线程还是能提高效率,因为在IO阻塞的情况下,会自动释放GIL锁。为什么不移除GILGuido的声明:http://www.artim...原创 2019-06-18 23:12:04 · 218 阅读 · 0 评论 -
monog 高级操作(聚合)
聚合aggregate聚合(aggregate)主要用于计算数据,类似sql中的sum()、avg()聚合(aggregate)是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组、过滤等功能,然后经过一系列的处理,输出相应的结果。 db.集合名称.aggregate({管道:{表达式}})管道在mon...原创 2019-06-09 20:47:58 · 1448 阅读 · 0 评论 -
pycharm 直接运行脚本,不运行单元测试方法
解决办法:1.选中 __main__ , 右键,点击run 脚本原创 2018-05-03 13:59:31 · 1881 阅读 · 1 评论