![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
文章平均质量分 92
Python
没事干写博客玩
真正的大师永远怀着一颗学徒的心。
展开
-
SQLMap 入门到入狱
SQLMap 入门到入狱引言SQLMap 连接数据库文件读取目标注入指定URL注入GET/POST请求及重要参数自定义prefix及suffixLevel等级设置额外的参数tamper脚本如何编写tamper脚本 引言 SQLMap,是一款很老的自动注入工具了,最早我记得可能当时还流行着Pangolin(穿山甲)和Havij(由于图标问题我们叫它萝卜)。 实际上SQLMap,帮我们解决的就是对目标的大量自动注入测试。 目前来说,如今的ORM框架99%使用prepare预处理参数进行参数绑定,能注入的我估计只原创 2020-12-16 20:32:29 · 487 阅读 · 0 评论 -
冒泡排序 选择排序 快速排序 归并排序
冒泡排序 快速排序 归并排序引言稳定与不稳定排序算法区别冒泡排序快速排序归并排序 引言 写点基础的文章,这三个排序算法算是很基础了。 稳定与不稳定排序算法区别 稳定排序算法是指,如果碰到相同的值,两者不会互换位置。 不稳定排序算法是指,如果碰到相同的值,两者可能会互换位置。 冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的稳定排序算法。 理解冒泡排序其实很简单,比如有个数组为m,长度为n。 首先我们需要确定的是,肯定需要从头到尾遍历一次,下标记作i,那么这个值就是m[i],和这个原创 2020-12-13 19:50:16 · 474 阅读 · 1 评论 -
python 2种线程池
python 2种线程池threadpoll并发包concurrent.futures简单的栗子as_completedmapwait threadpoll import time import threadpool def sayhello(str): print "Hello ",str time.sleep(2) name_list =['aa','bb','cc','dd'] start_time = time.time() pool = threadpool.ThreadPo原创 2020-09-06 18:47:15 · 538 阅读 · 0 评论 -
python event对象
python event对象 用于线程间通信,即程序中的其一个线程需要通过判断某个线程的状态来确定自己下一步的操作,就用到了event对象 event对象默认为假(Flase),即遇到event对象在等待就阻塞线程的执行。 import threading,time class Boss(threading.Thread): def run(self): print("BOSS:今晚大家都要加班到22:00。") print(event.isSet())# Fa原创 2020-09-06 18:32:28 · 411 阅读 · 0 评论 -
Scrapy 简介及栗子
Scrapy 简介简介框架的使用创建项目创建蜘蛛栗子运行项目 简介 Scrapy是一个适用爬取网站数据、提取结构性数据的应用程序框架,它可以应用在广泛领域:Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。[百度百科] 框架的使用 创建项目 scrapy startproject 项目名 创建蜘蛛 因为Scrapy是一个爬虫框架,一般多个蜘蛛合起来的项目才会用到,所以还要创建小蜘蛛。 cd原创 2020-09-06 18:30:02 · 141 阅读 · 0 评论 -
Python3 bs4 + requests 简单的爬虫 爬取LOL胜率加点
Python Bs4 + request 简单的爬虫引言 引言 很早之前的python写着玩的东西,如果爬一些简单的东西,还用不到scrapy之类的爬虫框架 #!/usr/bin/env python # -*- coding: utf-8 -*- # Author:S1h4ck from bs4 import BeautifulSoup import requests import threading common_data = threading.Lock() winning_data = thre原创 2020-09-06 18:15:48 · 326 阅读 · 0 评论 -
Redis 分布式锁和分布式信号量(Python实现)
简单的写一下吧,用python实现的,因为代码量少,可以更清晰的看原理 一说到redis的分布式锁,几乎所有人都是setnx,其实watch也可以实现,但是为什么没人用呢? 在高并发下,越多的用户请求,就会造成越多的重试,这个重试的耗时远远比锁要等待的时间长得多 redis是NIO+IO多路复用无锁模式,利用这一特性,我们可以保证setnx命令不会出现多个线程同时成功,保证我们确实获得了该锁 ...原创 2020-04-11 09:42:59 · 1266 阅读 · 0 评论