自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

树新风的博客

勿忘初心

  • 博客(84)
  • 资源 (5)
  • 收藏
  • 关注

原创 Linux批量结束进程命令

ps aux | grep chrome | grep -v grep | awk ‘{print $2}’ | xargs kill -9

2019-05-12 15:34:06 2362

转载 mysql INSERT ... ON DUPLICATE KEY UPDATE语句

网上关于INSERT ... ON DUPLICATE KEY UPDATE大多数文章都是同一篇文章转来转去,首先这个语法的目的是为了解决重复性,当数据库中存在某个记录时,执行这条语句会更新它,而不存在这条记录时,会插入它。相当于 先判断一条记录是否存在,存在则update,否则insert。其语法是:INSERT INTO tablename(field1,field2, fi...

2019-05-09 17:54:19 399

原创 在scrapy的RetryMiddleware中实现代理IP池

#middlewares.pyfrom scrapy.downloadermiddlewares.retry import RetryMiddleware, response_status_messageimport loggingfrom twisted.internet import deferfrom twisted.internet.error import TimeoutErro...

2019-04-27 09:55:19 1095

转载 使用国内镜像源加速pip安装

pipy国内镜像目前有: http://pypi.douban.com/  豆瓣http://pypi.hustunique.com/  华中理工大学http://pypi.sdutlinux.org/  山东理工大学http://pypi.mirrors.ustc.edu.cn/  中国科学技术大学 对于pip这种在线安...

2019-03-09 11:14:03 423

转载 异步任务神器 Celery 简明笔记

转自:https://funhacks.net/2016/12/13/celery/Celery在程序的运行过程中,我们经常会碰到一些耗时耗资源的操作,为了避免它们阻塞主程序的运行,我们经常会采用多线程或异步任务。比如,在 Web 开发中,对新用户的注册,我们通常会给他发一封激活邮件,而发邮件是个 IO 阻塞式任务,如果直接把它放到应用当中,就需要等邮件发出去之后才能进行下一步操作,此时...

2019-03-09 11:10:56 195

原创 反反爬之js检测selenium篇(某宝登录)

使用selenium模拟淘宝登录、模拟大鱼号登录

2019-01-31 15:18:48 9722 20

原创 布隆过滤器的python实现

布隆过滤器是一种以牺牲一部分正确率来换取空间复杂度的数据结构,其中误报指的是可能会判断不存在的元素为可能存在,但在判断不存在的元素时不会出现误报,即返回为True时元素可能存在,返回False时元素一定不存在。下表是布隆过滤器的误报率,m为元素总个数,n为过滤器长度,k为hash函数的个数。m/nkk=1k=2k=3k=4k=5k=621.390.3930...

2019-01-31 12:56:06 1153

原创 安卓手机使用Fiddler和Charles无法抓到https协议的请求解决办法

Android7.0 之后默认不信任用户添加到系统的CA证书,即使你的安卓手机上安装了抓包工具生成的证书文件,安卓系统对这个证书也是不信任的,这就是导致无法抓到https协议请求的原因。解决方案一:最简单的办法就是换手机,换个iPhone手机(土豪请随意),或者换个安卓7.0系统以下版本的安卓手机。解决方案二:此方法需要手机获得root权限将抓包软件的证书安装成系统证书系统证书目录:/...

2019-01-28 12:10:09 3892 8

原创 反反爬之极验二代滑块验证码篇

哔哩哔哩(极验)滑块验证码破解使用selenium、PIL以及OpenCV来获取图片缺口位置以及模拟鼠标拖动效果目标页面网址:https://passport.bilibili.com/loginfrom selenium import webdriverimport requestsimport timefrom selenium.webdriver.common.action_ch...

2018-10-05 12:38:28 2773 5

原创 反反爬之自定义字体篇

自定义字体反爬在爬取一些网页数据时,你会发现明明浏览器显示的内容是正确的,但是你抓下来的数据却是乱码。查看网页的html代码你会看到这些乱码的内容其实使用的是特殊的字体编码,形如:&#x9323之类的。这就是反爬中的自定义字体反爬。对于这类特殊的字体编码,我们可以使用fontTools模块来将自定义字体的对应编码解析成正常字体。首先,先从网页上获取出来网页采用的自定义字

2018-09-29 20:44:34 1937 2

原创 Xpath常用语法

xpath常用语法总结// 从当前规则下任意位置匹配../ 从当前规则的父级开始匹配./ 从当前规则开始匹配/text() 表示从当前规则下匹配所有文本内容/@name 表示匹配当前规则下的属性的value[] 中括号中表示过滤的条件,支持and、or语法/div[@class="classname"] 表示匹配当前规则下所有class为classname的div对象/div[co...

2018-09-25 15:17:21 1456

原创 scrapy_redis分布式爬虫

使用scrapy_redis实现京东图书分布式爬虫settings.py# -*- coding: utf-8 -*-# Scrapy settings for jdbook project## For simplicity, this file contains only settings considered important or# commonly used. You ca...

2018-09-23 16:25:17 1092

原创 requests模块常用方法以及属性总结

requests模块常用方法以及属性使用总结#发送get请求,参数:url,headers,params,proxies,timeout等,返回一个response对象。requests.get()#发送post请求,参数:url,headers,data,proxies,timeout等,返回一个response对象。requests.post()#将字典对象转换成cookiej...

2018-09-16 16:05:10 2183

原创 selenium使用Chrome浏览器

selenium使用Chrome浏览器准备:电脑上必须安装Chrome浏览器,并且要安装对应版本的Chromedriver驱动。使用有界面的Chrome浏览器:In [1]: from selenium import webdriverIn [2]: driver = webdriver.Chrome()In [3]: driver.get('https://www.baidu...

2018-09-12 14:21:31 3446

原创 数据结构之线性表

线性表顺序存储结构如:数组(在python中类似于列表)优点:由于是顺序存储,所以可以很方便的知道每个元素的存储位置。缺点:在进行插入或者删除元素时需要移动大量元素,会耗费大量时间。(插入元素时需要将后面的每个元素都向后移动一个位置,删除元素时则需要将后面的每个元素都向前移动一个位置)链式存储结构优点:存储位置不确定,并不是有序的。在进行插入或删除元素时不需要移动大...

2018-09-11 10:28:30 895

原创 Django基本命令

django-admin startproject 项目名 #创建一个Django项目cd ./项目名python manage.py startapp 子应用名 #创建一个子应用python manage.py makemigrations #创建数据库迁移脚本python manage.py migrate #执行迁移脚本python manage.py createsup...

2018-09-04 19:15:06 872

原创 猴子补丁对多线程的影响

最近在写pyqt项目时遇到一个问题,在开启猴子补丁的前提下如果再使用多线程会导致多线程阻塞,无法继续执行。查阅资料后得出如下解决方案:使用monkey.patch_all(thread=False) 或gevent.sleep()...

2018-09-02 14:23:24 1632

原创 python3.65+pyqt5+pycharm开发环境搭建

这里主要讲关于pycharm的配置相关,pyqt5和qt designer的安装请移步至python3.65+pyqt5+eric6开发环境搭建查看。 我当前环境为MacOS10.13.6+python3.65+qt5.11.1+pycharm2018.1。点击pycharm中的Preferences > Tools > External Tools > +创建新...

2018-08-31 17:42:15 2328

原创 MVC和MVT设计模式

MVC:Model-View-ControllerModel: 封装对数据库的访问View: 封装结果 生成html页面Controller: 封装视图的业务逻辑处理 MVT:Model-View-TemplateModel: 与MVC中的Model功能相同,封装对数据库的访问View: 与MVC中的Controller功能相同,封装视图的业务逻辑处理Tem...

2018-08-31 17:16:30 1858

原创 Redis常用命令

#开启Redis服务redis-server#连接本地Redis数据库redis-cli#连接远程Redis数据库redis-cli -h host -p port#测试命令结果返回PONG表示正常ping#选择数据库,默认有16个数据库编号0-15select 0#数据操作#删除全部数据flushall#String字符串操作#添加/修改键值对set na...

2018-08-16 20:09:53 2423

原创 flask框架-蓝图

from flask import Flask, Blueprintapp = Flask(__name__)#创建蓝图对象参数1蓝图名,参数2模块名,参数3静态资源文件夹,参数四模板资源文件夹,参数5url路由前缀blue_print = Blueprint('bule', __name__, static_folder='static', template_folder='templ...

2018-08-15 14:37:06 1058

原创 flask框架-数据库

综合案例-图书管理系统from flask import Flask, render_template, flash, redirectfrom wtforms import StringField, SubmitFieldfrom flask_wtf import FlaskFormfrom flask_sqlalchemy import SQLAlchemyfrom wtform...

2018-08-15 11:00:06 1090

原创 flask框架模板jinja2

from flask import Flask,render_templatefrom flask_script import Managerapp = Flask(__name__)manager = Manager(app)@app.route('/')def index(): return "this is index"@app.route('/template...

2018-08-12 17:36:35 983

原创 flask框架视图及路由

from flask import Flask,redirect,url_for,requestfrom werkzeug.routing import BaseConverter#创建一个Flask对象app = Flask(__name__)#把url '/index'绑定到视图函数[email protected]('/index')def index1(): r...

2018-08-10 21:04:57 1024

原创 使用flask框架实现HelloWorld

from flask import Flaskapp = Flask(__name__)@app.route('/index')def hello_world(): return "HelloWorld"if __name__ == "__main__": app.run()#使用http://127.0.0.1:5000/index访问

2018-08-10 19:42:42 2141

原创 MacOS/Linux搭建virtualenv虚拟环境

#安装virtualenv模块pip3 install virtualenvpip3 install virtualenvwrapper#创建虚拟环境文件夹,并修改环境变量(macOS环境变量文件为.bash_profile,Linux环境变量文件为.bash_rc)mkdir ~/.virtualenvvim ~/.bash_profile#在文件末尾添加如下内容,其中'/Lib...

2018-08-10 19:29:54 1217

原创 vue.js相关

//创建一个Vue对象vm = new Vue({ el:'#div01', //类似于标签选择器 data:{ //设置Vue对象的属性 msg:'hello' }, mounted:function(){ //当页面加载完成后自动执行的方法类似于jQuery的ready() }, metho...

2018-08-06 16:05:38 835

原创 JQuery相关

$(document).ready(function(){ //当页面加载完成后执行});//也可简写为$(function(){ //同上});//标签选择器 参照css的选择方式,返回一个对象$('.div01');//选择class为div01的所有元素$('#id01');//选择id为id01的元素$('div');//选择所有标签名为div的元素$('in...

2018-07-29 10:28:09 924

原创 scrapy框架的基本命令

scrapy startproject 项目名 创建一个scrapy项目cd ./项目名scrapy genspider 爬虫名 域名 创建一个爬虫scrapy genspider -t crawl 爬虫名 域名 创建一个crawlspider爬虫创建好项目以及爬虫后,首先编辑items.py文件设置好要爬取的字段,然后根据需求修改setting.py文件中的配置,然后在编辑爬虫名...

2018-07-22 17:12:20 979

原创 用python实现一个miniweb框架

miniFrame.pyfrom pymysql import connecturl2path_list = {}#路由装饰器def router(data): def func_out(func): url2path_list[data] = func def func_in(): return func ...

2018-07-18 17:11:47 2158

原创 python3.65+pyqt5+eric6开发环境搭建

我当前环境为MacOS10.13.6+python3.65+qt5.11.1+eric6 18.08,其它版本不排除有兼容性问题。1.安装Anaconda3(集成了QtDesigner)https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/2.安装pyqt模块使用pip3 install pyqt5安装3.安装eric6...

2018-07-17 18:32:12 1440

原创 python多重继承/多继承相关

1 使用父类名.方法名调用父类方法class Parent(): def __init__(self,name): self.name = name print("Parent的init方法被调用")class Son1(Parent): def __init__(self,name,age): self.age = age...

2018-07-17 16:52:49 1844

原创 python中组包拆包与不定参数

不定参数:*args用来接收除位置参数和键值对以外的所有参数组包为一个元组,在传参时也可以用来把元组拆包成一个个元素。**kwargs用来接收除位置参数 以外的所有键值对参数组包为一个字典,在传参时也可以用来把字典拆包成一个个键值对。在python没有像java和c那样的重载,就是因为使用了不定参数解决了参数个数不确定的问题。def func01(a, b, *args, **k...

2018-07-17 15:07:35 1379

原创 python中property的使用

第一种用法:class Student(object): def __init__(self, name): self.__name = name @property def info(self): return self.__name @info.setter def info(self,name): ...

2018-07-17 14:55:42 896

原创 python中GIL锁相关

GIL锁(全局解释器锁)只存在于Cpython解释器中,而Jpython、PyPy等解释器中则不存在GIL锁。GIL锁的作用:保证每个进程中每次只有一个线程可以获得执行权,解决多线程之间数据的完整性和状态同步,保证了线程安全。GIL锁的弊端:使用Cpython解释器时,GIL锁会使多线程的执行效率很低,无法充分利用CPU资源,基本等同于单线程执行。(在进行科学运算等需要长时间使用CPU资源...

2018-07-15 15:21:04 898

原创 python的深拷贝和浅拷贝

深拷贝与浅拷贝的区别:深拷贝是递归拷贝,而浅拷贝只为最外层数据开辟新的内存的空间(如果数据内部还有引用 浅拷贝不会开辟新的内存空间)。其中深拷贝与浅拷贝对于不可变类型数据都是直接引用。import copya = [1,2,3]b = [4,5,6]c = [a,b]d = copy.copy(c)a[0] = 10print(d)d = copy.deepcopy(c)...

2018-07-15 14:42:24 885

原创 python中装饰器的使用

使用闭做包装饰器def filter(func): def test(username,password): if username == 'admin' and password == '123456': func(username,password) else: print('登录失败') r...

2018-07-14 17:22:02 886

原创 爬取糗事首页数据

#爬取糗事百科首页数据import requestsfrom lxml import etreedef load_page(url): headers = {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0...

2018-07-08 21:35:49 889

原创 mysql常用语法

select version();--查询当前数据库版本select now();--查询当前时间select database();--查询当前使用的数据库show tables;--显示所有表show databases;--显示所有数据库create database classes;--创建一个数据库use classes;--使用这个数据库create table stu...

2018-07-08 19:22:31 880

原创 使用python模拟web服务器

import socketimport reimport geventfrom gevent import monkeymonkey.patch_all()class HttpServer(object): def __init__(self): server_socket = socket.socket(socket.AF_INET,socket.SOCK_...

2018-07-06 17:42:47 1446

蓝桥杯大赛个人赛省赛(软件类)真题

第一届至第七届蓝桥杯大赛个人赛省赛(软件类)真题

2017-03-26

蓝桥杯练习系统vip题目和测试数据

蓝桥杯练习系统vip题目和测试数据

2017-03-26

2017蓝桥杯模拟赛讲解视频

2017蓝桥杯模拟赛讲解视频

2017-03-26

2017模拟赛-本科组

2017模拟赛-本科组

2017-03-22

2017模拟赛-高职高专组

2017模拟赛-高职高专组

2017-03-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除