python
brook_
这个作者很懒,什么都没留下…
展开
-
LeetCode-两数之和
LeetCode-两数之和原创 2018-05-04 08:47:35 · 367 阅读 · 0 评论 -
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 · 5625 阅读 · 17 评论 -
十分钟掌握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 · 12581 阅读 · 0 评论 -
12306余票查询(一)——分析页面
这段时间Python写的很少,用这个小项目复习一下以前的知识首先打开12306看一下页面结构吧 因为我们没有点击查询,所以现在页面中是没有余票信息的, 随便选个出发站目的地,日期,点击查询, 发现相关余票信息便出现在网页上了, 打开开发者工具,切到Network,刷新页面,重新进行点击查询的过程 发现多出一条ajax请求,这就是我们要模拟的请求数据的操作 再看一下这条aja...原创 2018-06-19 12:19:15 · 3037 阅读 · 0 评论 -
12306余票查询(二)——获取余票数据
上节分析了获取余票数据的请求,本节开始抓取数据 可以看到,这里的站点名,是拼音码,显然是保存在对应的字典中 在网上下载这个字典 https://pan.baidu.com/s/1i4FTjgD 我是在这里下载的,整理好的py文件,可以直接使用. 现在终于可以开始爬取数据了class Get_tickets: def __init__(self,start_station...原创 2018-06-19 13:17:13 · 3554 阅读 · 3 评论 -
12306余票查询(三)——获取余票票价
上一节只能看到相关车次,车次的时间,但是没有很重要的一个信息,票价,这显然是很不合理的。通过分析页面请求情况,可知,车次的票价,都是分开请求的,但是一条请求里,包括了了一个车次的所有票价信息每个车次都得请求一次票价,肯定要把请求票价封装起来def get_price(train_no, from_station_no, destinction_no, seat_types, date)...原创 2018-06-19 14:46:14 · 949 阅读 · 0 评论 -
12306余票查询(四)——余票价格并入数据集中
因为获取每个车次的余票,都需要请求数据,,会有阻塞,这里采用协程,提高效率 首先,写个函数,是处理单个车次的加入票价行为 def get_one_price(self, info_dict): # 调用获取票价的函数 price_dict = get_price(info_dict['train_no'] , info_dict["from_stat...原创 2018-06-19 15:04:51 · 588 阅读 · 0 评论 -
12306余票查询(五)——网页模板制作
虽然各位大佬把查询信息打印在终端是很酷,但是个人觉得制作成网页,可以添加更多的样式和更多的操作.但是会增加一个网页与pyhton的交互问题,本节只讲网页制作 简单到简陋的网页布局,只是为了更好的展示余票信息, 都是照着12306的写的,非常简单实用 这里还需要实现标题置顶后悬浮的效果 思路就是监听页面滚动,当滚动位置大于标题的top值时,改变标题的布局为fixed 即posi...原创 2018-06-20 14:40:11 · 856 阅读 · 7 评论 -
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 · 1273 阅读 · 0 评论 -
关于函数返回的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 · 314 阅读 · 1 评论 -
flask中数据库的基本操作-增删改查
转载地址:https://blog.csdn.net/longting_/article/details/806581051.增加数据(就相当于增加一个实例对象)user1 = User(name='long',email='wertyui@qq.com',password='3456789',role_id=1)db.session.add(user1)db.session.co...转载 2018-07-10 13:26:46 · 3511 阅读 · 1 评论 -
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 · 243 阅读 · 0 评论 -
后台访问权限控制
问题解决普通用户登录之后直接访问后台具体的视图函数的问题如果是普通用户访问后台的视图函数,直接跳转到项目主页,不再执行后续的逻辑判断后台后续要实现多个视图函数,如果每一个函数内部都去判断用户权限,那么代码重复率高,冗余代码较多所以得有一个统一判断入口,后台模块中,除了登录页面,后台的其他页面都要判断是否具有管理员权限采用的方式为:请求勾子中的 before_request,来请求之前...原创 2018-07-11 20:08:24 · 2367 阅读 · 0 评论 -
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 · 2715 阅读 · 0 评论 -
Eel——js 如何调用python的函数
它拥有一个本地网络服务器,然后让你用Python注释函数,以便从Javascript调用它们,反之亦然。 无可避免的,若要从后端语言获取数据,必须得开个服务器,Eel可以免去写服务器pip install eel # 安装eel把python函数暴露给js@eel.expose # Expose this function to jsdef ...原创 2018-06-22 15:26:16 · 38506 阅读 · 18 评论 -
12306余票查询(九)——前端代码再修改,最终效果展示
// 若运行到这里说明参数都合法,进行请求数据 var data = await eel.getdata(start,destiction,date)(); body = old_body + data; $("body").html(body);旧的局部刷新方式,会产生个bug,就是页面只能搜索一次,获取数据后,整个b...原创 2018-06-21 15:19:03 · 822 阅读 · 0 评论 -
LeetCode-回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数class Solution: def isPalindrome(self, x): """ :type x: int :rtype: bool """ string1 = str(x) list1 =...原创 2018-05-04 08:58:30 · 438 阅读 · 0 评论 -
LeetCode-翻转整数
给定一个 32 位有符号整数,将整数中的数字进行反转。class Solution: def reverse(self, x): """ :type x: int :rtype: int """ flag = 1 if x < 0 : flag = -1 ...原创 2018-05-04 10:03:23 · 281 阅读 · 0 评论 -
Leet-Code 无重复字符的最长子串
给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。给定 “pwwkew” ,最长子串是 “wke” ,长度是3。请注意答案必须是一个子串,”pwke” 是 子序列 而不是子串。class Solution: de...原创 2018-05-04 12:52:25 · 332 阅读 · 0 评论 -
LeetCode- 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5 输出: 2 示例 2:输入: [1,3,5,6], 2 输出: 1class Solution: def searchInsert(self, nums, target)...原创 2018-05-04 19:15:06 · 395 阅读 · 0 评论 -
CodeWars-Sum of Numbers
Given two integers a and b, which can be positive or negative, find the sum of all the numbers between including them too and return it. If the two numbers are equal return a or b.Note: a and b are ...原创 2018-05-05 09:16:38 · 371 阅读 · 0 评论 -
LeetCode-存在重复元素
给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。class Solution: def containsDuplicate(self, nums): """ :type nums: List[int] :rtype: bool ...原创 2018-05-05 16:09:54 · 3576 阅读 · 4 评论 -
LeetCode- 同构字符串
给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = “egg”, t = “add” 输出: true 示例 2:输入: s = “foo”, t = “bar” 输出:...原创 2018-05-05 17:02:55 · 423 阅读 · 0 评论 -
爬虫-简单抓取网页图片
首先上获取网页数据部分def getdata(url): # 构建请求对象 headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/65.0.3325.181 ...原创 2018-05-07 10:56:10 · 1531 阅读 · 0 评论 -
PyQt5 QLabel改变字体和设置背景图片
使用setStyleSheet方法修改得到自己想要的字体,大小,颜色self.lab = QLabel("标签字体大小颜色", self)self.lab.setGeometry(50,50,300,200) self.setStyleSheet("QLabel{color:rgb(225,22,173,255);font-size:50px;font-weight:no...原创 2018-04-29 11:09:46 · 20019 阅读 · 2 评论 -
爬虫---抓取亚马逊热销书籍前100
闲来无事扒个网页解闷 首先找个软柿子捏 亚马逊热销排行榜对爬虫的限制并不多 页面连ajx请求都不用发,更没用JS渲染, 只要有网址直接get出所有的数据 用的关于获取网页资源,只用到requests库首先还是要先来看一下网页 每个爬虫新手遇到这样一个如此坦荡的网页, 都会觉得在JS横行的时代,这么天真朴素的网页真是出淤泥而不不染首先谈思路主页的链接是写死在代码里的, ...原创 2018-05-27 19:37:58 · 3455 阅读 · 1 评论 -
12306余票查询(六)——优化页面结构,加入js请求数据部分
首先第一点优化是,默认查询的出发站是深圳 依旧全是jquery实现$("input").eq(0).val("深圳");用户需要手动输入目的地,页面加载完毕后,目的地输入栏获取焦点 // 获取焦点$("input").eq(1).focus();设置初始时间为当前明天 // 设置默认出发时间为明天 function getFormatDate(){ ...原创 2018-06-20 22:52:32 · 367 阅读 · 1 评论 -
12306余票查询(七)——如何让python的代码可以被js引用
数据得用python跑出来,然后我又不想自己写个服务器传数据给浏览器,这里就用到了Eel库,https://github.com/ChrisKnott/Eel Github上有非常详细的讲解import eel@eel.exposedef getdata(start_station,destination,date): data = Get_tickets(start_statio...原创 2018-06-21 00:58:17 · 7363 阅读 · 0 评论 -
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 · 495 阅读 · 0 评论 -
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 · 359 阅读 · 0 评论