自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python + 高德JS——房源可视化(三):用flask搭后端传递数据

from flask import Flask, render_template, jsonify, request, jsonimport pymysqlapp = Flask(__name__)初始化flask,没用flask操作数据库,所以没什么配置文件@app.route("/")def index(): return render_template("inde...

2018-07-02 14:39:18 1179

原创 Python + 高德JS——房源可视化(一):最终效果展示

首先上图展示一下最终效果首页展示房源,这里只是为了做个简单的效果,没有爬取大量的房源 而是挑了房源质量比较高的自如网房源作为展示避免数据过于密集,把相邻的数据点合并, 不同聚合点的图标代表不同数量级的数据点聚合 实现的主要功能1.默认定位为深圳2.地图加载完毕后自动加载自如网房源3.输入框智能提词4.输入框输入完毕后,自动设置地图中心点为公司所在地,改变地图缩放级别...

2018-07-02 00:33:00 2144 3

转载 高德JS API——改变地图中心点及缩放级别

var map = new AMap.Map('container', { resizeEnable: true, center: [116.397428, 39.90923], zoom: 13 });AMap.event.addDomListener(document.getElementById('setCenter'), 'cli...

2018-06-24 19:36:42 28629

原创 python爬虫——抓取自如网房源,导出为csv

1.抓取自如网房源,其实为了后面一个小项目做数据采集工作 2.为什么选择自如,是因为我做租房的同学说,自如网的房源质量比较高 3.因为博主是暂居深圳,就先以深圳市的房源为示例base_url = "http://sz.ziroom.com/z/nl/z3.html"起始地址,全是get请求,就可以拿到数据,那么,十分的简单,1.构造网址base_url = "http://...

2018-06-23 21:36:52 5557 17

原创 Eel——js 如何调用python的函数

它拥有一个本地网络服务器,然后让你用Python注释函数,以便从Javascript调用它们,反之亦然。 无可避免的,若要从后端语言获取数据,必须得开个服务器,Eel可以免去写服务器pip install eel # 安装eel把python函数暴露给[email protected] # Expose this function to jsdef ...

2018-06-22 15:26:16 38143 18

原创 PyQt5 给窗口设置背景图片

QPalette类可以十分简单的达到设置窗口背景图片的目的 def use_palette(self): self.setWindowTitle("设置背景图片") window_pale = QtGui.QPalette() window_pale.setBrush(self.backgroundRole(), QtGui.QBrush(QtGui.QP...

2018-04-29 10:21:42 30986 9

原创 为什么主动关闭方要经过2MSL才能进入CLOSED状态

MSL是Maximum Segment Lifetime英文的缩写——报文最大生存时间1.为了保证发送的最后一个ACK报文段能够被接收 可让TCP再次发送最后的ACK以防止这个ACK丢失2.防止”已失效的连接请求报文段”出现在本连接中,在发送完最后一个ACK报文后,再经过2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。 这样下一个新的连接就不会出现这种老的...

2018-07-17 23:36:02 761

原创 为什么是三次握手,改为两次可以吗

不能改为两次,会出现僵尸连接,浪费网络资源1.考虑一种特殊情况 客户端发送SYN包A1,由于网络链路问题,到达时间滞后 因为客户端迟迟收不到服务器的响应,以为丢包,清理A1,重发SYN包B1 B1顺利到达,响应B2,与客户端建立连接 A1姗姗来迟,响应A2,由于A1被清理,客户端不理会A2 但是服务器还是会维持这个僵尸连接2.避免SYN攻击...

2018-07-17 23:23:31 1328

原创 为什么是四次挥手,不是三次挥手

在建立连接的时候,Server把响应客户端的请求和请求客户端的确认放在一起发送给客户端了,即第二次握手时有SYN+ACK而断开连接的时候,一个方向的断开,只是说明该方向数据已传输完毕,而另一个方向或许还有数据,所以得等到另一个方向数据也全部传输完成后,才能执行第三次挥手...

2018-07-17 23:12:28 9826

原创 简述四次挥手

什么是四次挥手由于TCP连接是全双工的,断开一个TCP连接,需要客户端与服务器发送四个包来确认连接的断开简述四次挥手的过程:因为TCP是全双工的,因此,每个方向都要单独关闭当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着一方向不会再收到数据了,但是这个TCP连接上仍然能够发送数据,直到这一方也发送了FIN.首先进行关闭的一方执行主动关闭,...

2018-07-17 23:03:31 37267 1

原创 什么是SYN攻击

什么是SYN攻击?原理:Client伪造大量的虚假ip,向Server发送SYN包Server在接收到SYN包后,会返回响应,并进入SYN_RECV状态,等待客户端的确认但是伪造的ip肯定不会给予响应,于是Server以为数据包丢失,不断重发,直到超时危害:这些伪造的SYN包会长期占用未连接队列,导致后来真实的ip无法加入队列,从而被丢弃,引起网络拥堵甚至网络瘫痪...

2018-07-17 22:37:20 4303

原创 如何回答三次握手问题

什么是三次握手TCP是网络传输层的协议,提供面向连接的可靠的字节流服务,要通信得先建立连接所谓三次握手就是指,建立一个TCP连接时,需要CLient与Server发送三个包,确认连接的建立这一过程由Client执行connect触发简单描述下三次握手的具体过程第一次握手:Client将SYN置为1,seq=随机值j,将该数据包发送给Server,进入<font ...

2018-07-17 21:49:43 1139

转载 select、poll、epoll之间的区别总结[整理] + 知乎大神解答

转 select、poll、epoll之间的区别总结[整理] + 知乎大神解答 2016年11月08日 15:37:15 阅读数:4907 ...

2018-07-13 15:37:37 401

原创 WSGI

WSGI——Web Server Gateway Interface ————————Web服务器网关接口一、即Web服务器和Web应用程序之间的通用接口标准 WSGI 是作为 Web 服务器与 Web 应用程序或应用框架之间的一种低级别的接口, 以提升可移植 Web 应用开发的共同点。WSGI 是...

2018-07-13 10:38:37 618

原创 Python中的单例模式

1.使用newclass Singleton(object): __instance = None def __new__(cls, *args, **kw): if not cls.__instance: cls.__instance = super(Singleton, cls).__new__(cls, *args, **kw) ...

2018-07-12 00:10:35 295

转载 flask+MySQL

转载链接:https://www.jianshu.com/p/7e32074e4fad使用Flask-SQLAlchemy管理数据库Flask-SQLAlchemy是一个Flask扩展,它简化了在Flask应用程序中对SQLAlchemy的使用。SQLAlchemy是一个强大的关系数据库框架,支持一些数据库后端。提供高级的ORM和底层访问数据库的本地SQL功能。 模型定义ta...

2018-07-11 23:17:58 2664

原创 后台访问权限控制

问题解决普通用户登录之后直接访问后台具体的视图函数的问题如果是普通用户访问后台的视图函数,直接跳转到项目主页,不再执行后续的逻辑判断后台后续要实现多个视图函数,如果每一个函数内部都去判断用户权限,那么代码重复率高,冗余代码较多所以得有一个统一判断入口,后台模块中,除了登录页面,后台的其他页面都要判断是否具有管理员权限采用的方式为:请求勾子中的 before_request,来请求之前...

2018-07-11 20:08:24 2308

原创 Python——装饰器

1.装饰函数def outer(fun): def wrapper(): # 加入你的骚操作 return fun() return wrapper2.装饰带参函数def outer(fun): def wrapper(*args, **kwargs): # 加入你的骚操作 return fun...

2018-07-11 17:32:43 194

原创 session的安全性问题

转载地址:https://blog.csdn.net/u013205877/article/details/77512180没有绝对的安全!1.cookie我们都知道Http是一种无状态性的协议,这种协议不要求浏览器在每次请求中标明他自己的身份,每次发个请求回个相应就完事了,那怎么校验发请求的人的身份呢,这就催生了Cookies. 本质上Cookies就是http的一个扩展...

2018-07-10 23:51:15 5858

原创 flask——新闻详情页,评论点赞

1.查出该新闻的所有评论 2.查出该用户所有点赞的评论 3.二者交集显示被用户点赞@news_blu.route("/<int:news_id>")@user_login_data@click_list_datadef news_detail(news_id): # 显示新闻 try: news = News.query.get(new...

2018-07-10 21:30:17 2117

转载 flask中数据库的基本操作-增删改查

转载地址:https://blog.csdn.net/longting_/article/details/806581051.增加数据(就相当于增加一个实例对象)user1 = User(name='long',email='[email protected]',password='3456789',role_id=1)db.session.add(user1)db.session.co...

2018-07-10 13:26:46 3406 1

转载 flask——CSRFToken保护

根据 csrf_token 校验原理,具体操作步骤有以下几步:1.后端生成 csrf_token 的值,在前端请求登录或者注册界面的时候将值传给前端,传给前端的方式可能有以下两种: 在模板中的 From 表单中添加隐藏字段 将 csrf_token 使用 cookie 的方式传给前端 2.在前端发起请求时,在表单或者在请求头中带上指定的 csrf_toke...

2018-07-07 20:32:25 2337 1

转载 flask Session 操作

转载地址:http://www.cnblogs.com/chen0427/p/8886789.htmlSession的基本概念:session和cookie的作用有点类似,都是为了存储用户相关的信息。不同的是,cookie是存储在本地浏览器,session是一个思路、一个概念、一个服务器存储授权信息的解决方案,不同的服务器,不同的框架,不同的语言有不同的实现。虽然实现不一样,但是他们的目的...

2018-07-07 20:22:03 3038

转载 CSRF攻击原理与防御手段

转载地址:http://www.phpddt.com/reprint/csrf.htmlCSRF概念CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解: 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮...

2018-07-07 19:59:08 339

原创 Python + 高德JS——房源可视化(七):JS部分

载入房源信息map.on('complete', fun() ) // 地图加载完毕后调用fun这里把载入房源放到这个回调函数中1. 请求数据 1.通过ajax请求"/location_all"这个路径,获取房源坐标 2.遍历列表,实例化所有的点,图标为自定义图标 3.给marker设置属性code值为房源的id 4.给所有房源注册点击事件 5.把所有房源点,...

2018-07-02 15:25:21 627

原创 Python + 高德JS——房源可视化(六):JS部分

1.初始化地图var map = new AMap.Map("container", { resizeEnable: true, // 设置可改变窗口大小 zoomEnable: true, // 设置可缩放 center: [114.056078,22.604554], // 设置地图中心为深圳 zoom: ...

2018-07-02 15:07:25 808

原创 Python + 高德JS——房源可视化(五):CSS部分

.control-panel { position: absolute; top: 30px; right: 20px; }.control-entry { width: 280px; background-color: rgba(119, 136, 153, 0.8); font-family: fantasy, sans-ser...

2018-07-02 14:46:30 354 1

原创 Python + 高德JS——房源可视化(四):HTML部分

<html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="initial-scale

2018-07-02 14:43:04 407

原创 Python + 高德JS——房源可视化(二):爬虫数据导入数据库

首先是获取房源信息 房源信息的爬虫,我前面的文章有讲过 这里贴个传送门:https://blog.csdn.net/brook_/article/details/80787266 这里可以对价格进行简单的分析 平均价格2582,还是可以接受的 但是一看标准差1853,我价格离散程度高 最低价69,最高价11078 很显然,最高价是有有可能的但是最低价是万万不可能的, 查看价...

2018-07-02 01:33:21 1169

转载 高德 JS API——点的聚合

function addCluster(tag){ if(cluster) { cluster.setMap(null); } if(tag==1) { var sts=[{url:"/static/m1.png",size:new AMap.Size(56,56),offset:new AMap.Pixel(-1...

2018-06-29 17:41:37 2887

原创 高德JS API——判断点是否在多边形内

polygon------多边形position------位置坐标-->polygon.contains(position) 判断是否在交通圈内// ----------------------------------------------------找出所有在生活圈内的房源;var all_rooms_positon // 存...

2018-06-27 17:29:18 3775

原创 关于函数返回的BUG——没注意到把return写在了内部函数里

function get_location_value(address) { var geocoder = new AMap.Geocoder({ city: "深圳", //城市,默认:“深圳” radius: 1000 //范围,默认:500 }); // console.log(address); geocoder.getLo...

2018-06-27 16:02:36 291 1

原创 高德JS API——设置交通圈

function setPolygon() { t=$(".single-slider").val(); // 取交通用时 v=$("#v").val(); // 取交通方式 arrivalRange.search(position_value,t, fu...

2018-06-25 18:51:53 1101

转载 高德JS API——正向地理编码(地址-坐标)

var geocoder = new AMap.Geocoder({ city: "010", //城市,默认:“全国” radius: 1000 //范围,默认:500 }); var local //地理编码,返回地理编码结果 geocoder.getLocation("北京市海淀区苏州街", function(status,...

2018-06-24 20:38:43 1632

转载 十分钟掌握pandas中文版(pandas官方文档翻译)

十分钟掌握pandas文档版本:0.20.3这是一个对pandas简短的介绍,适合新用户。你可以在Cookbook中查看更详细的内容。 通常,我们要像下面一样导入一些包。In [1]: import pandas as pd In [2]: import numpy as np In [3]: import matplotlib.pyplot as plt 创...

2018-06-24 15:15:40 12203

原创 js元素置顶悬浮

先展示下,最简短的jquery实现方式// 获取元素距页面的高var info_head_top = $("#info_head").offset().top;// 监听页面滚动$(document).scroll(function(){ // 获取页面滚动距离 var scrtop = $(this).scrollTop() if(scrtop>info_...

2018-06-21 15:53:13 6039

原创 12306余票查询(九)——前端代码再修改,最终效果展示

// 若运行到这里说明参数都合法,进行请求数据 var data = await eel.getdata(start,destiction,date)(); body = old_body + data; $("body").html(body);旧的局部刷新方式,会产生个bug,就是页面只能搜索一次,获取数据后,整个b...

2018-06-21 15:19:03 731

原创 12306余票查询(八)——获取票价遇到的bug

原来的代码非常的不健壮,结果在夜间跑的时候,由于系统维护,会出现请求票价的bug try: time.sleep(random.randint(1,2)) response = requests.get(url)except Exception as e: print("获取票价失败"+"|"+url,e) # 请求页面失败,所有票价为空...

2018-06-21 01:07:45 444

原创 12306余票查询(七)——如何让python的代码可以被js引用

数据得用python跑出来,然后我又不想自己写个服务器传数据给浏览器,这里就用到了Eel库,https://github.com/ChrisKnott/Eel Github上有非常详细的讲解import [email protected] getdata(start_station,destination,date): data = Get_tickets(start_statio...

2018-06-21 00:58:17 7289

原创 12306余票查询(六)——优化页面结构,加入js请求数据部分

首先第一点优化是,默认查询的出发站是深圳 依旧全是jquery实现$("input").eq(0).val("深圳");用户需要手动输入目的地,页面加载完毕后,目的地输入栏获取焦点 // 获取焦点$("input").eq(1).focus();设置初始时间为当前明天 // 设置默认出发时间为明天 function getFormatDate(){ ...

2018-06-20 22:52:32 327 1

空空如也

空空如也

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

TA关注的人

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