Python
文章平均质量分 54
_KJ
不想做个咸鱼
展开
-
Diffie-Hellman密钥交换算法
什么是Diffie-Hellman密钥交换算法?Diffie-Hellman 密钥交换算法的安全性是基于Zp上的离散对数问题。设p是一个满足要求的大素数,并且a(0<a<p)是循环群Zp的生成元,a和p公开,所有用户都可以得到a和p。在两个用户A和B通信时,他们可以通过如下步骤协商通信所使用的密钥:取素数p和整数a,a是p的一个原根,公开a和p。A选择随机数XA<p,...原创 2018-10-23 23:27:23 · 1843 阅读 · 0 评论 -
text和content方法的区别
requests对象的get和post方法都会返回一个Response对象,这个对象里面存的是服务器返回的所有信息,包括响应头,响应状态码等。其中返回的网页部分会存在.content和.text两个对象中。两者区别在于,content中间存的是字节码,而text中存的是Beautifulsoup根据猜测的编码方式将content内容编码成字符串。直接输出content,会发现前面存在b'这...转载 2018-10-29 12:49:49 · 416 阅读 · 0 评论 -
Python lstrip()方法
先看两个例子:我们想要去掉'thisis a beatiful girl!'前面的this:第一个方法为什么没有实现?因为lstrip()方法实际是从左开始查找字符,直到遇到没有包含在参数中的字符为止,也就是说删除是以字符为单位,而不是字符串。这里‘i’包含着‘this’中,所以删除,继续长查找,‘s’包含着‘this’中,所以删除,继续查找,‘ ’空格不在字符串‘this’中,所以查...原创 2018-10-30 18:28:19 · 3966 阅读 · 0 评论 -
网易云课堂python网络爬虫视频源码及实现
代码截图:(源代码在最下面)import requestsres = requests.get('http://www.sina.com.cn/')res.encoding = 'utf-8'print(res.text)####################################### 用BeautifulSoup4剖析网页元素from bs4 impor...原创 2018-10-30 18:44:16 · 3836 阅读 · 0 评论 -
Pandas---排序sort参数解释
1.1 sort_index## 参数sort_index(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, by=None)#### 参数说明axis:0按照行名排序;1按照列名排序level:默认None,否则按...转载 2018-10-30 19:50:06 · 5980 阅读 · 0 评论 -
Pandas的set_index和reset_index用法
set_index():函数原型:DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False) 参数解释:keys:列标签或列标签/数组列表,需要设置为索引的列drop:默认为True,删除用作新索引的列append:默认为False,是否将列附加到现有索引...原创 2018-11-01 18:38:20 · 35877 阅读 · 3 评论 -
机器学习(一)- 基础库matplotlib的使用
(本人用的jupyter,所以以下格式是以jupyter格式书写的)可视化库matpltlib:一、折线图绘制import pandas as pdunrate = pd.read_csv('unrate.csv') # 读取print (type(unrate['DATE'][0]))unrate['DATE'] = pd.to_datetime(unrate['DATE']...原创 2018-11-03 10:41:28 · 390 阅读 · 0 评论 -
PyQuery库简介
html = '''<div><ul><li class="item-0">li0</li><li class="item-1 active">li1</li><ul><div>'''from puquery import PyQu转载 2018-11-07 23:04:06 · 338 阅读 · 0 评论 -
python装饰器--@property
实例:实现一个学生的成绩管理传统方法:class Student(object): def __init__(self, name, score): self.name = name self.__score = score def get_score(self): return self.__score def s...转载 2018-10-16 16:36:02 · 147 阅读 · 0 评论 -
Python 网络编程(一)-基础知识
makefile使用:socket.makefile(mode ='r',buffering = None,*,encoding = None,errors = None,newline = None )返回一个与套接字相关联的文件对象。返回的确切类型取决于给makefile()提供的参数。这些参数的解释方式与内置open()函数的解释方式相同,除了makefile方法唯一支持的mod...转载 2018-10-16 11:15:39 · 239 阅读 · 0 评论 -
日志回滚:python(日志分割)
日志回滚:python什么是日志回滚?答:将日志信息输出到一个单一的文件中,随着应用程序的持续使用,该日志文件会越来越庞大,进而影响系统的性能。因此,有必要对日志文件按某种条件进行切分,要切分日志文件。分割日志的触发条件:大小、日期,或者大小加上日期。说是切分,实际上是,当一个日志文件达到触发条件后,对日志文件进行重命名,之后再新建原来名称的日志文件(此时就是空文件了),新产生...转载 2018-10-16 10:34:55 · 2134 阅读 · 0 评论 -
Python Miller-Rabin素性检测算法
概念:Miller-Rabin 算法常用来判断一个大整数是否是素数,如果该算法判定一个数是合数,则这个数肯定是合数。Miller-Rabin 算法是一个概率算法,也就是说,若该算法判定一个大整数是素数,则该整数不是素数的概率很小。Miller-Rabin 概率检测算法的理论基础是费马小定理,即设 n 是正奇整数,如果 n 是素数,则对于任意整数 b(1 < b < n-1),有...原创 2018-10-13 12:11:20 · 6567 阅读 · 3 评论 -
模重复平方过程算法
# -*- coding:UTF-8 -*-# 模重复平方过程实现算法def tenToBin(num): binary = [] while num > 0: binary.append(num%2) num = int(num/2) #binary.insert(0,num%2) # 向第0个元素前面插入一个数据 #binary.insert(-1,num%...原创 2018-10-13 12:56:37 · 1694 阅读 · 1 评论 -
Socket之shutdown()用法
通常来说,socket是双向的,即数据是双向通信的。但有些时候,你会想在socket上实现单向的socket,即数据往一个方向传输。单向的socket便称为半开放Socket。要实现半开放式,需要用到shutdown()函数。一般来说,半开放socket适用于以下场合:(1)当你想要确保所有写好的数据已经发送成功时。如果在发送数据的过程中,网络意外断开或者出现异常,系统不一定会返回异常...转载 2018-10-18 08:34:03 · 2240 阅读 · 1 评论 -
python用openpyxl操作excel
安装$ pip install openpyxl例子1:创建一个工作簿from openpyxl import Workbookwb = Workbook()# 激活 workbookws = wb.active# 数据可以直接分配到单元格中ws['A1'] = 42# 可以附加行,从第一列开始附加ws.append([1,2,3])# Python 类型会被自动转...原创 2018-10-08 13:22:10 · 9096 阅读 · 0 评论 -
Python相关功能函数
Python split()方法语法:str.split(str="", num=string.count(str))str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num -- 分割次数。实例:#!/usr/bin/pythonstr = "Line1-abcdef \nLine2-abc \nLine4-abcd";print...原创 2018-10-08 13:32:56 · 368 阅读 · 0 评论 -
常见反爬虫机制——User-Agent和代理IP设置
常见反爬机制:1、拒绝非浏览器的访问:可以检查请求头header中的User-agent、referer、cookies: User-agent用来表示请求者的信息,可以搜集User-agent并保存,爬取过程中动态更换在User-agent,伪装成浏览器的形式 referer可以使用浏览器分析提取referer信息 需要登录才能操作的页面可以保留cookies,带着...转载 2018-09-29 21:34:09 · 1220 阅读 · 0 评论 -
BeautifulSoup的find()和findAll()的异同
两个函数非常相似,官方文档定义如下:finaAll(tag,attributes,recursive,text,limit,keywords) fina(tag,attributes,recursive,text,keywords) 参数的含义:我们可以发现平常在进行网络数据爬取的时候通常只需要用到前两个参数:tag和attributes,但其他参数在有些时候也可以使用来增加代...转载 2018-09-29 22:00:09 · 963 阅读 · 0 评论 -
Python相关模块
jieba分词模块安装:pip install jiebapip3 install jieba简介:中文分词,个人理解而言,相当于对中文语句以词语为单位进行断句拆分,在NLP(自然语言处理)中有着重要的运行。分词模式分为三种:精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析 全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据 ...转载 2018-10-09 23:14:35 · 238 阅读 · 0 评论 -
Python中Generators教程
什么是generator?generator是一种特殊的函数,和一般的函数不同,一般的函数调用一次,总会结束返回;generator却可以执行到某个位置停住,通过yield让出执行权,下次再调用时,从上一次yield后面的地方开始执行。例如:def generator(): yield "a" yield "b" yield "c"for i in generator():...转载 2018-10-12 21:56:51 · 748 阅读 · 0 评论