自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 信息采集

知己知彼 ,百战不殆。网络上的安全攻防是一场没有硝烟的战争,信息采集就是战斗之前的情报侦察,做的好就有了主动权,会起到意想不到的效果。一、...

2020-05-08 09:08:14 239

原创 list(三)

一、list去重当元素可散列(数字,字符串,元组)时直接用set();当元素不可散列时(列表,字典,集合)时:new_list=[]for lis in list: if lis not in new_list: new_list.append(lis) pass二、找出列表中出现次数最多的元素利用标准库collections中的Counter类i...

2019-11-18 00:16:38 370

原创 list(二)

上一篇讲了list自带接口(方法)。今天讲一下list的排序问题。第一种方法:list自带的;第二种内置函数sorted();都借助于Key参数,key参数可以 利用lambda函数,也可以利用operator模块的itemgetter和attrgetter接口。class Student: def __init__(self, name, grade, age): ...

2019-11-17 23:13:46 261

原创 list(一)

list是提供索引的一个序列。有序,可变,可迭代。print(dir(list))输出:['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__ge...

2019-11-17 11:20:48 209

原创 str提供的处理字符串的接口

#字符串的接口#1.大小写转换# 三种方法:lower/upper全大全小;title,capitalize单词首字母大写,其余全部小写、字符串首字母大写,/# 其余全部小写;swapcase大小互换;都是生成了新对象,原对象不曾改变。a='i AM a Teacher.YOU are my son.'print (a.lower())print (a.title())print (...

2019-11-16 22:37:55 203

原创 python数据类型之数字

Python的数值类型有三类:integral float complex(整数,小数,复数)一、integralintegral有两种:int,boolint:(如内存足够,则不限制大小)有二进制、八进制、十进制、十六进制,进制之间以开头0b,0o,0x,和无表示进行区分,可以利用bin(),oct(),int(),hex()内置函数互相进行转化。字符串要转化为整数,必须先用int()...

2019-11-16 12:53:43 159

原创 python中内置hash模块hashlib

一、什么是hashhash,是一种对数据进行变换的算法,这种算法有以下特点:1.不定长输入,定长输出。2.不能被还原。由于算法过程中丢弃了一些数据,但是丢弃的是什么,丢弃了多少,谁也不知道,所以无法被还原,有点类似于有损压缩,丢弃的不可能被找回。3.相同输入,相同输出。4.抗碰撞性。即碰撞(不同输入产生相同输出)的几率特别小。5.抗篡改性。输入稍有改动,输出差别非常大。因为hash算...

2019-11-16 00:31:23 383

原创 python 图片处理库PIL

pillow(PIL)为python图片处理的第三方库。图片的处理无外乎打开,保存,旋转,裁剪,放大缩小,通道(rgb)的操作,动图的操作。下面来看PIL为实现这些功能所提供的接口。from PIL import Imagefrom PIL import ImageFilterfrom PIL import ImageSequenceimage=Image.open('C:/Users/A...

2019-11-05 15:56:39 164

原创 os.path:文件路径上的获取,判断,分解合并操作

os.path实现了文件路径上的一些功能,为我们提供了一些借口。一个目录有目录名和基名构成。基名是最后一个,也就是目标,前面的是目录名。os.path提供的接口如下:abspath绝对路径(实现现在工作目录+相对路径,别的实现不了)dirname目录名basename基名exists是否存在path或filegetatime获得最后一次访问时间...

2019-11-02 23:52:35 287 1

原创 os模块:实现与操作系统相关的接口

os模块提供了很多与操作系统相关的接口。os.getcwd()get current work directoryos.chdirchange directoryos.curdircurrent directory(return ‘’)os.pardirparent directory(retrun ‘…’)os.rmdir()如空则删除,非空会报错...

2019-11-02 21:46:54 269

原创 urllib.parse.urlparse:提供处理url接口的工具

urllib库是python内置的处理HTTP请求的库,用它来请求url我们用的不多,但是它提供的urllib.parse工具倒是很好用。url.parse :定义了url的标准接口,实现url的各种抽取、解析,合并,编码,解码。下面来看urlparse提供的接口:一、urlpase(url):提供url的分解,具体见代码:from urllib.parse import urlparse...

2019-11-02 19:57:27 592

原创 数据清洗之四:regex

一、正则表达式的基础知识正则表达式(regular expression)是一种处理字符串的工具,功能十分强大。正则表达式使用预定义的特定模式去匹配一类具有共同特征的字符串,主要用于字符串处理,可以快速,准确地完成复杂的查找,替换等处理要求。二、python中re模块提供的函数re.searchre.matchre.fullmatchre.splitre.findallre.fi...

2019-10-30 19:52:52 120

原创 数据清洗之三:css选择器

一、css选择器介绍html上的元素的表现形式是通过css选择器一对一或者一对多选定,然后定义的。如:p{color:red}就是所有p标签的内容字体都是红色。二、常见用法类选择器:元素的class属性,比如class="box"表示选取class为box的元素;ID选择器:元素的id属性,比如id="box"表示选取id为box的元素;元素选择器:直接选择文档元素,比如p表示选择所有的...

2019-10-30 18:05:09 587

原创 数据清洗之二:BeautifulSoup

BeautifulSoup为一个python的数据清洗库。一、初始化初始化即把string格式的内容转化为可分析的xml格式语言。B的初始化和xpath有点像。Xpath为:tree=etree.HTML(strintg).BeautifulSoup为:soup=BeautifulSoup(string,‘lxml’)二、找到标签2.如何定位到一个标签:从长辈找起,可以通过属性attr...

2019-10-30 17:21:25 818

原创 数据清洗之一:xpath

首先,区别于Beautiful的是,xpath是一门语言,不是一个库。这门语言带有80多个自带的函数。xpath是一门专注于在xml、html文档中选取节点的语言。一、选取节点如果html文档是一棵树的话,节点就是你在于哪个树杈子。默认的为总干,即html。该如何选取节点呢?选取节点有三中方式:一序列、二属性、三值(一)通过序列序列中提供了以下几个函数:last(),position(...

2019-10-30 16:50:23 492

原创 csv

一、什么是csvcsv(Comma-Separated Values)逗号分隔符。是一种数据类型。表示类似于表格的数据:表示成fu,123456,111fuguang,123456,111fuguangli,123456,111除过没有边框,它就是个表格。二、csv的用法python内置了scv模块。用法见代码import csvwith open('C:/Users/Admi...

2019-10-27 21:10:34 535

原创 三句话解释清楚docker

Docker自2013年以来非常火热,无论是从 github 上的代码活跃度,还是Redhat在RHEL6.5中集成对Docker的支持, 就连 Google 的 Compute Engine 也支持 docker 在其之上运行。那么什么是docker呢?要了解一个人,就要了解他的出生和成长经历。同样,要了解一门技术,就要了解它的发展历史。如果不交代历史,很难说清楚什么是docker。现在就从...

2019-10-27 13:10:33 231

原创 selenium+cookie=crossing_login

selenium模拟浏览器进行测试时遇到有些网站要求登录才能够继续访问,登录的时候又需要验证码或者扫码等,操作起来比较麻烦。访问时加上cookie就表明你已经是登录的用户了,可以绕过登录这一步。关于cookie,可以这么简单的解释。htttp是无状态的,服务器为了辨别用户的信息,在登录时会在服务器添加一个session会话并且保存在服务端。再把session_id作为cookie发给客户端。浏览...

2019-10-23 18:20:39 152

原创 爬取简单的AJAX数据

现在传统的静态网页(所有数据都写入DOC,一次性加载完毕)几乎已经没有了。网站并不把所有数据写入DOC中,而是通过AJAX和服务器进行异步的数据交流(请求和响应),再把得到的数据加载在页面中。如果我们能获得AJAX所发出的请求url,就可以直接得到数据。对于没有加密的数据接口,数据非常好获取。只有分析得到存放数据的uri就可以直接获取。比如获取今日头条的新闻:import jsonimport...

2019-10-22 15:45:01 201

原创 python内置函数replace替换和正则表达式替换re.sub()

re.sub()替换功能re.sub是个正则表达式方面的函数,用来实现通过正则表达式,实现比普通字符串的replace更加强大的替换功能。简单的替换功能可以使用replace()实现。def main(): text = '123, word!' text1 = text.replace('123', 'Hello') print(text1)if __name_...

2019-10-21 21:48:34 10193

原创 获取动态渲染页面(一):selenium

在爬虫中,当前段使用js等技术动态渲染页面时,普通的Request得到的DOC里几乎没有任何有用的价值的。这时需要模拟浏览器的库先完成渲染,我们再进行爬取。python这样的库有很多,如selenium,splash,pyv8,ghost。今天我们先来介绍其中的佼佼者selenium。以Chrome为例一、浏览器要完成Driver配置此配置只需三步,一是下载匹配浏览器版本的Chrome.dri...

2019-10-20 22:22:49 477 1

原创 scrapy(一):数据类型Item

scrapy中有一个类Item(类似于一个字典),我们在项目中要为爬取到的内容设置一个字段,类似于flask中的Model,不过scrapy设置字段简单,因为没有那么多的字段类型,只简单的声明Field()即可。FOR EXAMPLE:from scrapy import Item,Fieldclass Price(Item): name=Field() price=Field...

2019-10-19 13:49:39 2055

原创 python网络编程之socket

众所周知的tcp/ip协议为我们提供了计算机之间网络通信的标准。操作系统的tcp/ip软件组件为我们提供了基于tcp/ip协议的通信。操作系统为了开发者方便直接调用tcp/ip组件,为我们提供了API,它就是socket。python自带socket模块。主动发起连接的计算机我们称之为 客户端。被动接受的称之为服务端。我们设想一层楼,有很多的房间,这些房间有一条公共的电话线路,每个房间有很多的可...

2019-10-16 14:49:12 186 1

原创 tcp/ip干货十条

一、TCP/IP模型TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。Tcp/ip协议只是一个标准。实现靠的是相关的tcp/ip软件,如windows操作系统的tcp/ip软件。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层(途中硬件和网卡...

2019-10-15 20:36:00 94

原创 同源策略和跨域访问

同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。 [1]如果非同源,那么在请求数据时,浏览器会在控制台中报...

2019-10-15 16:30:33 135

原创 flask数据库模型

web程序中使用数据库存储数据,在视图函数中操作数据库。如果在视图函数中编写SQl语句,则代码显得太混乱,所以开发者 将数据库中的table映射成python类,将column映射成类的属性,row映射成类的实例,所以就可以通过操作python类对象实现对数据库的操作。一、连接数据库数据库的连接是在SQLALCHEMY_DATABASE_URI中完成的。常用的有:mysql的uri为:‘m...

2019-10-09 20:18:42 254

原创 图片剪裁之Jcrop插件

用户上传头像等操作都会用到图片的裁剪。Jcrop是一个很好的图片剪裁插件。在flask中,扩展flask-avatars也集成了Jcrop的功能。一、jcropJcrop基于jquery,所以引入前要先引入jquery。用起来非常简单:<html><head><link rel="stylesheet" href='C:\Users\Administrat...

2019-10-09 16:53:35 306

原创 使用flask-avatars处理用户头像

所有的网站中,用户都要设置头像。用户刚注册时有时使用社交平台的头像,有时使用随机头像或机器人头像;在用户注册完成以后可以上传裁剪设置自己喜欢的头像。和flask的其他扩展一样,你需要下载flask-avatars后,导入Avatars类,传入app创建类的实例。from flask_avatars import Avatars import flask app = Flask(__name...

2019-10-08 20:31:33 409

原创 flask中的文件上传

文件上传是web中必不可少的一项工作。在flask中的文件上传是怎么实现的呢?一、原生实现flask文件的原生上传可分为三步:1.创建上传表单,配置上传配置2.获取文件3.保存文件,下载展现使用文件具体代码如下:import osfrom flask import Flask, request, url_for, send_from_directoryfrom werkzeug ...

2019-10-08 17:17:13 548

原创 python装饰器(decorator)解析

一、装饰器的基本原理装饰器的本质就是一个函数,特别之处在于这个函数接收的对象也是函数,作用是给被装饰函数增添一些附加功能。文字描述起来比较绕,我们直接来看代码。注意: @decorator(func) equal to func=decorator(func)def f(x): print ('The result is ') print( x * 2)f(2)这是...

2019-10-07 17:09:38 216

原创 web程序中的用户注册

说起来web程序中的用户注册是非常简单了。主要包括用户注册和验证邮箱两步。1.用户注册用户注册主要包括三个信息,一是用户名,二是密码 ,三是邮箱。用户名需要验证字段值和字段长度的限制。可以用正则表达式Regexp验证字段值是否合法。比如只允许由英文字母和数字组成,可以使用Regexp("︿[a-zA-Z0-9]*$",message=“The username should contain ...

2019-10-07 11:22:35 2645

原创 用户认证:jws和session的区别

http请求是无状态的,他的每一次请求不携带任何状态,所以每一次的请求都要认证用户状态。目前主流的用户认证方法有基于token和基于session两种方式。一、基于 session的用户认证用户输入其登录信息服务器验证信息是否正确,并创建一个session,然后将其存储在数据库中服务器为用户生成一个sessionId,将具有sesssionId的Cookie将放置在用户浏览器...

2019-10-05 19:44:57 230

原创 python中的dangerous库

1.dangerous 的基本用法itsdangerous 库的作用就是为避免敏感信息(如注册用户的用户名,密码等)进行明文传送而采取加密手段。加密的时候你自己写入一个秘钥,故此也叫作签名。常用的类为***TimedJSONWebSignatureSerializer。***这么长一串,先来看看这几个单词是什么意思:timed:有时间限制的;JSON:JSON类型数据;Web:应用于web;S...

2019-10-02 12:16:14 369

原创 UUID

UUID1.UUID是谁?从哪里来?要到哪里去?uuid是个ID,我们知道ID是不能重复的。在个人作品的小范围内可以保证ID不重复,但是一件全球化产品的ID值怎么保证不重复呢?uuid(universally unique )全球通用唯一ID,就为解决这一问题因运而生。uuid是谁搞明白了,那它是怎么来的呢?uuid=当前时间+时钟序列+本机Mac地址。Mac地址保证了你的ID和别人的不会重...

2019-10-02 09:42:01 620

空空如也

空空如也

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

TA关注的人

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