python系列
文章平均质量分 86
python系列技术分享、笔记分享
BeanInJ
只有代码,没有废话。
展开
-
python里的三元运算、for循环简写、匿名函数
python中的三元运算、for循环简写先、匿名函数实例原创 2020-03-20 01:37:46 · 6682 阅读 · 4 评论 -
Xpath
xpath轴xpath运算符原创 2019-10-10 22:59:37 · 109 阅读 · 0 评论 -
进程与线程
线程和进程各自有什么区别和优劣呢?进程是资源分配的最小单位,线程是程序执行的最小单位。进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。线程之间的通信更方便,同一进程下的线...原创 2019-10-09 20:48:58 · 154 阅读 · 0 评论 -
python中的字符、编码、转换
# decode 作用是将其他编码的字符串转换成unicode编码# encode 作用是将unicode编码转换成其他编码的字符串bytes转字符串方式一b=b’\xe9\x80\x86\xe7\x81\xab’string=str(b,‘utf-8’)print(string)bytes转字符串方式二b=b’\xe9\x80\x86\xe7\x81\xab’string=b....原创 2019-10-13 15:55:02 · 1140 阅读 · 0 评论 -
python中Xpath 易错分析
文章目录1、text()、string()、data()、点2、python里lxml.etree._Element才能使用xpath3、输出文本(text、string)4、xpath输出的是列表类型5、多个class值1、text()、string()、data()、点参考文章源:https://blog.csdn.net/weixin_39285616/article/details/...原创 2020-04-17 14:48:04 · 763 阅读 · 0 评论 -
异常、raise、assert(断言)
1、异常常见的异常AttributeError 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性xIOError 输入/输出异常;基本上是无法打开文件ImportError 无法引入模块或包;基本上是路径问题或名称错误IndentationError 语法错误(的子类) ;代码没有正确对齐IndexError 下标索引超出序列边界,比如当x只有三个元素...原创 2019-10-23 23:53:59 · 925 阅读 · 0 评论 -
线程同步、协程
线程同步多个线程对某个数据进行修改,为保证数据正确,需要进行线程同步import threading#多个线程对某个数据进行修改,为保证数据正确,需要进行线程同步#Rlock对象允许一个线程多次进行acquire操作#mylock = threading.Lock() Lock() 只允许线程一次acquire()操作mylock = threading.RLock()num...原创 2019-10-10 00:02:47 · 135 阅读 · 0 评论 -
python中super().__init__()
super().__init__() 就是调用父类的init方法, 同样可以使用super()去调用父类的其他方法原创 2020-03-01 21:55:12 · 190258 阅读 · 104 评论 -
算法练习:1、两数之和
1、两数之和题目解题题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, ...原创 2019-10-08 15:19:34 · 128 阅读 · 0 评论 -
BeautifulSoup
BeautifulSoup简介BeautifulSoup可以用来从HTML或XML文件中提取数据创建BeautifulSoup对象第一种直接通过字符串创建 soup = BeautifulSoup(html_str,'lxml',from_encoding="utf-8")第二种将字符串保存为html文件 soup = BeautifulSoup(open('index....原创 2019-10-11 13:26:22 · 558 阅读 · 0 评论 -
算法练习:2、两数相加
题目给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 ->...原创 2019-10-08 15:25:42 · 149 阅读 · 0 评论 -
python 面试题 1.2(简答类)
文章目录写在前面21、def func(a,b=[]) 这种写法有什么坑22、(1)和(1,)的区别23、在函数中声明全局变量24、栈(stack)和队列(queue)的区别25、常用字符串格式化哪几种26、谈谈你对闭包的理解27、闭包中内函数修改外函数局部变量28、函数加()和不加的区别29、装饰器的作用及应用30、实例方法、类方法、静态方法的区别与作用31、os和sys模块32、简述 yield和yield from33、断言(assert)及应用场景34、raise显示异常35、logging模块写原创 2020-05-11 22:00:34 · 257 阅读 · 0 评论 -
哈希算法、HD5、SHA-1
哈希函数哈希函数(Hash Function),也称为散列函数或杂凑函数。哈希函数是一个公开函数,可以将任意长度的消息M映射成为一个长度较短且长度固定的值H(M),称H(M)为哈希值、散列值、杂凑值或者消息摘要。它是一种单向密码体制,即一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。无论输入是什么数字格式、文件有多大,输出都是固定长度的比特串。 以比特币使用的Sh256算法为例...原创 2019-11-18 16:14:55 · 1561 阅读 · 0 评论 -
算法练习:5、删除排序数组中的重复项
题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。解:class Solution: def removeDuplicates(self, nums: List[int]) -> int: f=0 f...原创 2019-12-11 23:48:27 · 92 阅读 · 0 评论 -
Python @classmethod修饰符、嵌套类、Django( class Meta:)
1、@classmethodclassmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。class A(object): bar = 1 def func1(self): print ('foo') @classmethod def ...原创 2019-11-03 13:51:49 · 1182 阅读 · 0 评论 -
python 面试题 2(代码类)
文章目录1、一行代码实现数值交换2、将IP地址转换成一个整数3、字符串、列表、元组、字典每个常用的5个方法41、一行代码实现数值交换 a, b = b, a2、将IP地址转换成一个整数思路:先将ip“10.3.9.12”以点为切割强制转为int存入列表,再将列表内容转为8位的二进制数,再以字符形式拼接成4*8(32)位的字符串,最后将字符串每一个字符循环变成10进制累加。def ten_switch_two(num): demo = list() # 转二进制 w原创 2020-08-21 17:32:25 · 621 阅读 · 0 评论 -
python中的可变与不可变类型、深浅拷贝
文章目录写在前面1、有哪些是可变类型和不可变类型2、区分3、原理4、易错点(深浅拷贝相关)写在前面本文源自:http://baijiahao.baidu.com/s?id=1598145363846525787&wfr=spider&for=pc1、有哪些是可变类型和不可变类型可变类型列表(list)、字典(dict)不可变类型数字(int...原创 2020-03-29 22:12:32 · 229 阅读 · 0 评论 -
selenium浏览器自动化测试框架
selenium 是一个 web 的自动化测试工具1、启动from selenium import webdriver# b = webdriver.Ie() #ie浏览器# b = webdriver.Firefox() #火狐浏览器b = webdriver.Chrome() #谷歌浏览器b.get('http://www.baidu.com/')2、打开本...原创 2019-10-24 00:17:33 · 143 阅读 · 0 评论 -
算法练习:4、不含有重复字符的 最长子串 的长度
题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。解题l 最大长度记录st 无重复字段开始指针i 字符下标,也是无重复字段结束位置dic{} 储存遍历的字符class Solution(object): def lengthOfLonge...原创 2019-10-09 01:19:44 · 727 阅读 · 0 评论 -
算法练习:3、猜数字
题目小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble...原创 2019-10-08 21:23:42 · 348 阅读 · 0 评论 -
*list、lstrip()、正则^、python3中(->:、*、:)
1、*list、 *[1,3]list变量前面加星号、字典变量前面加两个星号列表前面加星号作用是将列表解开成两个独立的参数,传入函数字典前面加两个星号,是将字典解开成独立的元素作为形参def add(a, b): return a + bd1 = [4, 3]print(*d1)print(add(*d1))d2 = {'a': 4, 'b': 3}prin...原创 2019-11-04 14:11:07 · 1856 阅读 · 1 评论 -
非对称加密:RSA算法的原理
RSA算法的原理:1、名词解释名称解释素数又称质数,指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。互质又称互素。若N个整数的最大公因子是1,则称这N个整数互质。模运算即求余运算“模”是“Mod”的音译。和模运算紧密相关的一个概念是“同余”。数学上,当两个整数除以同一个正整数,若得相同余数,则二整数同余。例:3/2余1,5/2余1...原创 2019-11-18 22:56:46 · 232 阅读 · 0 评论 -
Json、HTTP
JSONHTTP1、请求头2、响应头报头含义HTTP请求方式原创 2019-10-10 23:12:58 · 133 阅读 · 0 评论 -
python 面试题 1.1(简答类)
文章目录1、python和其他语言的区别2、解释性语言和编译性语言3、python几种解释器的特点4、位和字节的关系5、PEP8(python代码规范)6、将IP地址转换成一个整数(写代码)7、python递归的最大层数1、python和其他语言的区别python是一种解释性语言与C语言和C的衍生语言不同,Python代码在运行之前不需要编译。其他解释型语言还包括PHP和Ruby。Python是动态类型语言,指的是你在声明变量时,不需要说明变量的类型。你可以直接编写类似x=111和x="I’m原创 2020-05-11 18:25:21 · 506 阅读 · 1 评论 -
七层模型、三次握手
OSI封包解包**osi来源tcp/ip五层模型三次握手第一次握手:发送syn建立tcp链接原创 2019-10-08 22:13:57 · 141 阅读 · 0 评论 -
python 爬虫 9 (scrapy实例:翻页爬取、爬个人页、存入mysql、redis)
文章目录写在前面1、新片场翻页爬取1.1、模仿登录1.2、访问上限2、爬取个人详情页写在前面本篇笔记接【python 爬虫7】:https://blog.csdn.net/a__int__/article/details/1047624241、新片场翻页爬取查看每页连接爬取连接 pages = response.xpath('//div[@class="page...原创 2020-04-13 22:07:23 · 1962 阅读 · 0 评论 -
python 爬虫 6 (scrapy item、scrapy pipelines)
scrapy item、scrapy pipelines写在前面1、scrapy item1.1、开始写代码1.1.1、使用scrapy shell测试UniversityItem对象1.1.2、修改usnews.py写在前面本片笔记和 python 爬虫 5 (scrapy重爬世界大学排名)使用的同一个项目1、scrapy itemItems是将要装载抓取的数据的容器,它工作方式像pyt...原创 2020-03-09 00:15:59 · 292 阅读 · 0 评论 -
python 爬虫 2 (网页解析bs4、lxml、xpath、正则)
bs4、lxml、xpath、正则写在前面1、bs4语法1.1、soup=BeautifulSoup(html)1.2、soup.prettify()1.3、soup.title1.4、soup.find('a')1.5、select选择器2、lxml使用3、xpath语法4、正则语法写在前面bs4官方文档https://beautifulsoup.readthedocs.io/zh_CN...原创 2020-03-03 22:35:41 · 644 阅读 · 0 评论 -
爬虫01
1、最简单的请求模型1.1、get请求1.2、post请求1.3、cookie处理重定向代理 Proxy第三方HTTP请求方式:RequestsGETPOST请求头处理...原创 2019-10-10 23:52:58 · 91 阅读 · 0 评论 -
python 爬虫 5 (scrapy重爬世界大学排名)
scrapy写在前面1、scrapy入门小demo2、安装scrapy所需依赖库3、scrapy重爬世界大学排名3.1、新建项目3.2、开始写代码写在前面scrapy中文文档https://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html安装scrapypip install scrapy用于测试 scrapy的网址...原创 2020-03-07 18:59:33 · 1088 阅读 · 0 评论 -
python 爬虫 7 (scrapy架构、中间件、动态ip代理池)
scrapy架构、中间件、动态ip代理池1、scrapy架构2、中间件process_requestprocess_responseprocess_exception3、动态ip代理池3.1、先测试一下我们的代理能用不3.2、开始写代码4、telnet1、scrapy架构2、中间件中间件详解https://www.cnblogs.com/fengf233/p/11453375.html...原创 2020-03-09 20:47:34 · 1193 阅读 · 0 评论 -
反爬虫01
1、python-requests/2.18.4很多的爬虫请求头就是默认的一些很明显的爬虫头python-requests/2.18.4,诸如此类,当运维人员发现携带有这类headers的数据包,直接拒绝访问,返回403错误解决方法:r=requests.get(url,headers={'User-Agent':'Baiduspider'})把爬虫请求headers伪装成百度爬虫或者其...原创 2019-10-12 14:32:49 · 184 阅读 · 0 评论 -
python 爬虫 4 (实例:世界大学排名列表、手写分布式爬虫)
爬迁木网世界大学排名列表1、xpath helper1、xpath helper下载谷歌浏览器的插件xpath helper百度网盘:pan.baidu.com/s/1phXPKllX0-BA7IDxPGRhZA密码:yuuv下载完成更改文件名如下解压,然后进入谷歌浏览器-更多工具-扩展程序找到解压目录...原创 2020-03-06 14:40:06 · 1174 阅读 · 0 评论 -
python 爬虫 1-1( requests.session()会话保持/模拟登录状态 )
文章目录写在前面1、requests.session简单例子2、模拟百度登录3、模拟领英网登录写在前面在某些网站抓取,或者app抓取时,有的时强制登陆,有的是不登陆返回的数据就是假的或者说是不完整的数据,这时就需要用到保持会话的功能1、requests.session简单例子参考源:https://www.cnblogs.com/qican/p/11153824.htmlreques...原创 2020-04-17 00:30:32 · 2522 阅读 · 0 评论 -
python 爬虫 3 (实例:爬取网站照片、一句代码抓取图片)
爬取下厨房网站照片写在前面写在前面下厨房官网:http://www.xiachufang.com/原创 2020-03-04 21:56:29 · 1617 阅读 · 2 评论 -
python 爬虫 8 (scrapy实例:爬新片场视频、创建scrapy项目步骤梳理)
scrapy实例:爬新片场视频写在前面1、新建项目写在前面新片场地址https://www.xinpianchang.com/channel/index/sort-like?from=navigator1、新建项目创建项目xpc:scrapy startproject xpc在xpc项目根目录下创建虚拟环境:virtualenv env启用并进入虚拟环境,安装scrapy:...原创 2020-04-12 15:28:51 · 1488 阅读 · 1 评论 -
python 爬虫 1 (urllib、requests的使用、代理服务器)
urllib、requests的使用写在前面1、urllib的使用1.1、request.urlopen1.2、使用GET参数1.3、使用POST传递参数1.4、代理ip请求远程url1.5、urlpase模块2、requests的使用2.1、requests.get()2.2、requests.post()2.3、自定义headers2.4、带cookies请求2.5、Basic-auth认证请...原创 2020-03-03 21:29:29 · 1044 阅读 · 0 评论 -
爬取简单的网页并储存为json、csv、BeautifulSoup提取数据、lxml解析、urllib.request.urlretrieve、通过stmp发送邮件
储存为json关键步骤:1、requests.get()get请求网页2、BeautifulSoup()提取数据3、find_all(class_=。。。)找到需要的数据4、json.dump()编码存入j.txt5、json.load(fp)读取文本内容import requestsfrom bs4 import BeautifulSoupimport json# 获取htm...原创 2019-10-13 23:33:03 · 608 阅读 · 0 评论 -
Django 14购物商城项目(购物车商品选中逻辑)
Django 13购物商城项目 1、单个商品选中逻辑1.1、最终效果展示1.2、html1.3、js1.4、views.py2、购物车全选2.1、逻辑2.2、html2.3、css2.4、js2.5、视图2.6、路由1、单个商品选中逻辑(代码在【Django 14购物商城项目】中已经有)1.1、最终效果展示1.2、html没有点击事件时,获取前端出过来的参数C_is_select判断...原创 2019-12-29 02:22:01 · 946 阅读 · 0 评论 -
Django 15购物商城项目(总价计算和显示、点击下单、订单页面,待付款角标样式)
Django 15购物商城项目 1、总价1.1、html1.2、视图1.3、js2、点击下单2.1、生成订单(js点击事件)2.2、传回服务器(路由、中间件)2.3、创建订单模型(models.py)2.4、视图(views.py)3、点击下单后跳转到订单详情4、订单页面4.1、HTML4.2、视图4.3、路由5、home页面 待付款、待收货5.1、待付款、待收货数据传递(视图)5.1、角标样式(...原创 2019-12-30 02:49:50 · 1478 阅读 · 3 评论