Python

python粘包问题及socket套接字编程详解

粘包问题TCP协议在传输过程中会出现数据粘包问题讲一下TCP和UDP的区别,都是传数据的协议,没有好坏之说,只是不同的应用需求可能会更好选择哪一个协议TCP:适合传输数量大,需要建立连接,会出现粘包问题,粘包问题可以解决,确定传入的长度,接收同样长度就可以保证一次性传输完UDP:适合传输数据量小,没有粘包,不需要连接,一次性传输,下一次就是新的数据,弊端就是数据丢失,不安全QQ是用什么协议呢?按理应该可以用UDP协议,但是实际用的是TCP协议,这是历史遗留

系统 2019-09-27 17:53:03 2034

Python

2019最新Python爬虫面试高频率面试题总结(二)

今天接着跟大家总结Python爬虫面试中常见的高频面试题。有需要的伙伴用心看啦!1.Request中包含什么呢?1、请求方式:主要有GET和POST两种方式,POST请求的参数不会包含在url里面2、请求URLURL:统一资源定位符,如一个网页文档、一张图片、一个视频等都可以用URL来唯一确定3、请求头信息,包含了User-Agent(浏览器请求头)、Host、Cookies信息4、请求体,GET请求时,一般不会有,POST请求时,请求体一般包含form-

系统 2019-09-27 17:52:44 2034

Python

糟了,上网记录被 Python 扒下来了!

点击上方“码农突围”,马上关注,每天早上8:50准时推送真爱,请置顶或星标摘要:分享个Python神工具。长时间使用浏览器会积累大量浏览器历史记录,这些是很隐私的数据,里面甚至可能有一些不可描述的网站或者搜索记录不想让别人知道。不过,我们自己可能会感兴趣,天天都在上网,想知道长期下来是都在摸鱼还是有认真工作。其次,了解下自己每天打开多少次网页、哪些网站上的最多、常搜哪些关键词,这些也很有趣。下面就来给大家介绍一款Python编写的神工具,可以一键分析你的上

系统 2019-09-27 17:51:41 2034

Python

面试前赶紧看了5道Python Web面试题,Python面试题No17

目录本面试题题库,由公号:非本科程序员整理发布第1题:Flask中的请求上下文和应用上下文是什么?第2题:django中间件的使用?第3题:django开发中数据做过什么优化?第4题:解释一下Django和Tornado的关系、差别?DjangoTornado第5题:什么是restfulAPI,谈谈你的理解?REST的特点第6题:关注题,最近在公号更新一个神奇的系列入门文章@本面试题题库,由公号:非本科程序员整理发布第1题:Flask中的请求上下文和应用上

系统 2019-09-27 17:50:03 2034

Python

python3.6生成器yield用法实例分析

本文实例讲述了python3.6生成器yield用法。分享给大家供大家参考,具体如下:今天看源码的时候看到了一个比较有意思的函数:yield功能与return类似,都是返回定义的函数的一个结果,不同的是return返回后这次调用函数就结束了,除了返回值,其余临时变量都会被清除。而yield会停止在当前步,并保留其余变量的值,等下次调用该函数时,从yield的下一步继续往下运行。yield的好处是如果函数需要很大的内存,比方说需要计算并返回一个很大的数列,如

系统 2019-09-27 17:49:49 2034

Python

使用Python中的greenlet包实现并发编程的入门教程

1动机greenlet包是Stackless的副产品,其将微线程称为“tasklet”。tasklet运行在伪并发中,使用channel进行同步数据交换。一个”greenlet”,是一个更加原始的微线程的概念,但是没有调度,或者叫做协程。这在你需要控制你的代码时很有用。你可以自己构造微线程的调度器;也可以使用”greenlet”实现高级的控制流。例如可以重新创建构造器;不同于Python的构造器,我们的构造器可以嵌套的调用函数,而被嵌套的函数也可以yiel

系统 2019-09-27 17:49:28 2034

Python

Python调用C

文章作者:Tyan博客:noahsnail.com|CSDN|1.引言众所周知,Python语言简单、易学、开源、具有丰富的库,Python的第一个编译器是用C语言实现的。但Python的缺点也非常明显,最让人诟病的就是Python的性能问题。因此,为了提高程序的运行效率,通常会将程序的关键部分使用C或C++重写,编译成动态链接库,然后在Python(CPython)中进行调用。运行环境:Ubuntu16.04、Python2.7、Python3.5。2.

系统 2019-09-27 17:49:18 2034

Python

使用Python的Scrapy框架编写web爬虫的简单示例

在这个教材中,我们假定你已经安装了Scrapy。假如你没有安装,你可以参考这个安装指南。我们将会用开放目录项目(dmoz)作为我们例子去抓取。这个教材将会带你走过下面这几个方面:创造一个新的Scrapy项目定义您将提取的Item编写一个蜘蛛去抓取网站并提取Items。编写一个ItemPipeline用来存储提出出来的ItemsScrapy由Python写成。假如你刚刚接触Python这门语言,你可能想要了解这门语言起,怎么最好的利用这门语言。假如你已经熟悉

系统 2019-09-27 17:49:18 2034

Python

Python简单进程锁代码实例

先说说线程在多线程中,为了保证共享资源的正确性,我们常常会用到线程同步技术.将一些敏感操作变成原子操作,保证同一时刻多个线程中只有一个线程在执行这个原子操作。我最常用的是互斥锁,也称独占锁。其次还有读写锁,信号量,条件变量等。除此之外,我们在进程间通信时会用到信号,向某一个进程发送信号,该进程中设置信号处理函数,然后当该进程收到信号时,执行某些操作。其实在线程中,也可以接受信号,利用这种机制,我们也可以用来实现线程同步。更多信息见//www.jb51.ne

系统 2019-09-27 17:48:40 2034

Python

Python 正则表达式爬虫使用案例解析

现在拥有了正则表达式这把神兵利器,我们就可以进行对爬取到的全部网页源代码进行筛选了。下面我们一起尝试一下爬取内涵段子网站:http://www.neihan8.com/article/list_5_1.html打开之后,不难看出里面一个一个非常有内涵的段子,当你进行翻页的时候,注意url地址的变化:第一页url:http://www.neihan8.com/article/list_5_1.html第二页url:http://www.neihan8.com

系统 2019-09-27 17:48:39 2034

Python

3秒搜电影,基于Pyqt5的简单电影搜索工具,会Python真牛逼!

今天给喜欢看电影的同学推荐一款Python制作的搜索电影片源的工具。经常在网上搜索片源的同学应该知道,各大片源网站广告不断,有些网站,点一下查询就弹出广告,关掉广告后再点查询,片源信息才显示正常。今天这款工具搜索是基于Python的GUI库PyQt5开发的。下载项目我们命令行下用git命令先把项目从github上克隆下来。gitclonehttps://github.com/lt94/MovieHeavens.git如果没有安装git的话也可以直接下载下来

系统 2019-09-27 17:48:39 2034

Python

简单分析Python中用fork()函数生成的子进程

python的osmodule中有fork()函数用于生成子进程,生成的子进程是父进程的镜像,但是它们有各自的地址空间,子进程复制一份父进程内存给自己,两个进程之间的执行是相互独立的,其执行顺序可以是不确定的、随机的、不可预测的,这点与多线程的执行顺序相似。importosdefchild():print'Anewchild:',os.getpid()print'Parentidis:',os.getppid()os._exit(0)defparent()

系统 2019-09-27 17:48:24 2034

Python

使用rpclib进行Python网络编程时的注释问题

rpclib是一个非常好用的pythonwebservice库,可以动态的生成wsdl,不过这个项目已经基本停止,并被一个新的项目取代spyne,由于旧的项目工作已经比较稳定,所以我没有贸然升级到spyne。我在rpclib编写service方法时,遇到一个奇怪的错误:访问wsdl(http://localhost:9898/?wsdl)页面,返回502BadGateway。在日志中看到如下错误信息:复制代码代码如下:ValueError:Allstrin

系统 2019-09-27 17:48:07 2034

Python

python在windows下实现备份程序实例

很多书籍里面讲的Python备份都是在linux下的,而在xp上测试一下也可以执行备份功能,代码都差不多相同,就是到执行打包的时候是不一样的。而且要用到winrar,其他的压缩文件也是一样的。首先我们要把winrar的路径添加到path里面,这里添加完了要重启机子才有效。这里要注意:把winrar的路径添加到path里面之后一定要重启,否则path的设定不会起作用,打包就会失败!这里用到得命令是:winraraxxx.zipxxxxxxx为任意字符实例代码

系统 2019-09-27 17:47:53 2034

Python

python 专题训练收获(三)dict

默认dict,代表dict.keys(),而不是dict.items()排序字典,sorted(a.items(),key=lambdakv:kv[-1]),但是返回的是list,[('b',0),('a',1),('c',2)],然后再用dict[]一次,就能得到字典。注意,字典的Key可以不是字符。{0:'0'}dict.update({2:30})。添加字典的元素,两个字典的内容相加,就是用dict_a.updata(dict_b)。删除字典中的某个

系统 2019-09-27 17:46:33 2034