目录一,轮询和长轮询二,分析web端微信三,爬虫套路一,轮询和长轮询短轮询的基本思路就是浏览器每隔一段时间向浏览器发送http请求,服务器端在收到请求后,不论是否有数据更新,都直接进行响应。这种方式实现的即时通信,本质上还是浏览器发送请求,服务器接受请求的一个过程,通过让客户端不断的进行请求,使得客户端能够模拟实时地收到服务器端的数据的变化。这种方式的优点是比较简单,易于理解,实现起来也没有什么技术难点。缺点是显而易见的,这种方式由于需要不断的建立http
系统 2019-09-27 17:53:45 2335
Python两数相加LeetcodeNo.2思路很简单,模拟小学加法运算就好了,因为是逆序的,头指针指向的那个其实就是个位,往后加就完事,但是唯一需要注意的是,最高位可能有进位。(属于代码练习题)ps:还有人说先把数全部取出来,用计算机加法算完,再建立链表连接起来,乍一看有点投机取巧好像可行的样子,但是我们要考虑计算和的时候会溢出。还有人考虑直接在原来的链表上改数字,多一位的话,就再加一个链表,首先不知道leetcode允不允许改数字,毕竟这种题目也是考察
系统 2019-09-27 17:53:35 2335
一、前言以前使用selenium的无头浏览器,自从phantomjs2016后慢慢不更新了之后,selenium也开始找下家,这时候谷歌的chrome率先搞出来无头浏览器并开放了各种api,随后firefox也开始做。现在selenium的测试也都支持这两个浏览器的无头模式了,只需要在引入的时候配置一下就可以了。之所以要采用谷歌chrome官方无头框架puppeteer的python版本pyppeteer,是因为有些网页是可以检测到是否是使用了seleni
系统 2019-09-27 17:52:58 2335
JSON是一种轻量级的数据交换格式,各种语言都有良好的支持。字典是Python的一种数据结构。可以看成关联数组。有些时候我们需要设计到字典转换成JSON序列化到文件,或者从文件中读取JSON。简单备忘一下。Dict转JSON写入文件复制代码代码如下:#!/usr/bin/envpython#coding=utf-8importjsond={'first':'One','second':2}json.dump(d,open('/tmp/result.txt'
系统 2019-09-27 17:52:57 2335
本文分享的实例主要实现的是Python+matplotlib绘制一个有阴影和没有阴影的3D条形图,具体如下。首先看看演示效果:完整代码如下:importnumpyasnpimportmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3D#setupthefigureandaxesfig=plt.figure(figsize=(8,3))ax1=fig.add_subplot(121,projec
系统 2019-09-27 17:52:34 2335
Python正则表达式匹配数字电话号码:\d{3}-\d{8}|\d{4}-\d{7}QQ号:[1-9][0-9]{4,}中国邮政编码:[1-9]\d{5}(?!\d)身份证:\d{15}|\d{18}ip地址:\d+\.\d+\.\d+\.\d+[1-9]\d*正整数-[1-9]\d*负整数-?[1-9]\d*整数[1-9]\d*|0非负整数-[1-9]\d*|0非正整数[1-9]\d*\.\d*|0\.\d*[1-9]\d*$正浮点数-([1-9]\d
系统 2019-09-27 17:50:40 2335
用户资料页面在用户资料页面,基本上没有什么特别要强调和介绍的新概念。只需要创建一个含有HTML的新视图函数模板页面即可。下面是视图函数(项目目录/views.py):@app.route('/user/')@login_requireddefuser(nickname):user=User.query.filter_by(nickname=nickname).first()ifuser==None:flash('不存在用户:'+nickname+'!')r
系统 2019-09-27 17:48:56 2335
Anaconda是Python的一个开源发行版本,主要面向科学计算,预装了丰富强大的库。使用Anaconda可以轻松管理多个版本的Python环境。Download:https://www.anaconda.com/download/Anaconda默认有两个版本,可以选择64位还是32位安装,当你安装了其中一个版本时,系统默认为该版本。同时你可以在已安装的Anaconda版本中添加另一个版本的Python,实现多版本共存。Anaconda可以使用命令行进
系统 2019-09-27 17:48:03 2335
一、列表元素的追加和插入append():追加一个元素到列表extend():列表拉伸,追加多个元素到列表insert():在指定索引处插入元素二、列表元素的删除pop(a):弹出列表中索引为a的元素,默认为列表最后一个元素pop()弹出的值可用变量接收remove():删除列表元素del:从内存种删除一个元素三、列表元素的重新赋值1、通过索引,重新赋值2、通过切片赋值四、列表元素的排序x.sort()#列表排序,默认按照ascii排序x.sort(rev
系统 2019-09-27 17:48:02 2335
很多序列的方法字符串同样适用,但是,字符串是不可变的,所以一些试图改变字符串的方法是不可用的1字符串格式化1)用元组或者字典格式化字符串format="hello,%s.s%enoughforyou?"values=('world','Hot')format%values跟C格式化类似2)模板字符串string模块提供了模板字符串来格式化字符串fromstringimportTemplates=Template(x,gloriousx,gloriousx!
系统 2019-09-27 17:38:01 2335