摘要: ``` from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.by import By from selenium.webdriver.sup 阅读全文
posted @ 2017-10-09 20:19 cnkai 阅读(832) 评论(0) 推荐(0) 编辑
摘要: 创建对象 通过对象自面量的形式创建对象 使用new object创建对象 使用构造函数创建对象 使用Object.create()创建对象 操作对象 首先创建两个对象 访问属性: 对象名.属性名 对象名[属性名] 当处于某个对象方法内部的时候,可是使用this来访问同一对象的属性 var key=' 阅读全文
posted @ 2017-10-09 20:18 cnkai 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 隐式转换 1. 其他类型转换成布尔类型: undefined false null false 0或者0.0或者NaN false 字符串长度为0 false 其他对象 true 2. 其他类型转换成数值类型: undefined NaN null 0 true 1 false 0 内容为数字 数字 阅读全文
posted @ 2017-10-09 20:17 cnkai 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 自定义函数 JS中有两种方法定义函数: 使用function关键字定义函数 使用js中的函数构造器(Function())定义函数 注意: 1. 函数名称不要包含特殊字符 2. 函数名称最好含义明确 3. 函数名称最好遵循驼峰标记法或者下划线法 4. 函数名称严格区分大小写 5. 函数名称如果相同会 阅读全文
posted @ 2017-10-09 20:17 cnkai 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 连接数据库 创建数据库 创建表 插入数据 事务机制,一旦出错会回滚,不存在一半插入一半没插入的情况。 更新数据 删除数据 查询数据 fetch()存在指针偏移的问题,使用一次,指针就会向后偏移一次。 阅读全文
posted @ 2017-10-09 20:15 cnkai 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 连接数据库 StrictRedis ConnectionPool 构造url方式连接到数据库,有以下三种模式: String操作 方法 | 作用 | 示例 | 示例结果 | | | | set(name, value) | 给name赋值为value | redis.set('name', 'Bob 阅读全文
posted @ 2017-10-09 20:15 cnkai 阅读(29311) 评论(1) 推荐(5) 编辑
摘要: re模块 阅读全文
posted @ 2017-10-09 20:14 cnkai 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 连接数据库 插入数据 insert_one(), 一次插入一条记录 insert_many(), 一次插入多条记录 mongo默认会给每一条记录添加一个_id字段,用来唯一标识每一条记录。 可以使用 和`result.inserted_ids`来查看插入记录的_id编号。 查询数据 find_one 阅读全文
posted @ 2017-10-09 20:14 cnkai 阅读(2649) 评论(0) 推荐(0) 编辑
摘要: 停止子线程 如果一切正常,那么上面的例子很完美。可是,需要停止程序,直接ctrl+c,会抛出KeyboardInterrupt错误,我们修改一下主循环: 可是实际上并不好使,虽然主线程try了KeyboardInterrupt异常,但是子线程并没有退出,为了解决这个问题,可以设置子线程为守护线程,这 阅读全文
posted @ 2017-10-09 20:13 cnkai 阅读(441) 评论(0) 推荐(0) 编辑
摘要: time模块 datetime模块 阅读全文
posted @ 2017-10-09 20:13 cnkai 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 几个概念: event_loop 事件循环:程序开启一个无限的循环,程序员会把一些函数注册到事件循环上。当满足事件发生的时候,调用相应的协程函数。 coroutine 协程:协程对象,指一个使用async关键字定义的函数,它的调用不会立即执行函数,而是会返回一个协程对象。协程对象需要注册到事件循环, 阅读全文
posted @ 2017-10-09 20:12 cnkai 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 协程嵌套 使用async可以定义协程,协程用于耗时的io操作,我们也可以封装更多的io操作过程,这样就实现了嵌套的协程,即一个协程中await了另外一个协程,如此连接起来。 如果使用的是 asyncio.gather创建协程对象,那么await的返回值就是协程运行的结果。 不在main协程函数里处理 阅读全文
posted @ 2017-10-09 20:12 cnkai 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 发起请求 添加请求参数 自定义User Agent 自定义cookies post字符串 post文件 设置代理 设置认证代理 阅读全文
posted @ 2017-10-09 20:11 cnkai 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序 算法思想: 对于一组需要排序的数据,对于相邻的两个数进行比较,使较大(或者较小)的数一直向后推,经过多层排序之后,使整个序列是有序的。 算法实现: 算法的实现使用了两层for循环,其中对于外层for循环来说,第一次for循环,最大的数被推到最后面,第二次for循环,次大的数被推到次后面.. 阅读全文
posted @ 2017-10-09 20:11 cnkai 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 临近毕业,租房是少不了的,为了直观的了解江苏省的租房价格信息,这次就从58同城抓取了江苏省13个市的租房信息,进行简单地分析。 本次获得信息一共是3万条左右,抓取到的原始信息会附在文末,用到的主要的分析工具是pandas。 首先来看一下我们的原始信息的样子。 首先将‘name’字段进行分割,提取出租 阅读全文
posted @ 2017-10-09 14:05 cnkai 阅读(1254) 评论(0) 推荐(0) 编辑