- 博客(13)
- 收藏
- 关注
原创 python3.6以后字典有序
python3.6以后字典有序 在Python 3.5(含)以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插入字典,但是当你打印字典的Keys列表时,你会发现B可能在A的前面。 但是从Python 3.6开始,字典是变成有顺序的了。你先插入键值对A,后插入键值对B,那么当你打印Keys列表的时候,你就会发现B在A的后面。 不仅如此,从Python 3.6开始,下面的三种遍历操作,效率要高于Python 3.5之前: for key in 字典 for value in 字典.values()
2021-03-07 22:52:13
464
原创 django中遇到的bug
django中遇到的bug django-redis版本太低,升级到4.xx django.core.cache.backends.base.InvalidCacheBackendError: Could not find backend 'django_redis.cache.RedisCache': cannot import name 'get_cache'
2021-02-23 13:12:22
990
原创 二进制,位运算(原码、反码、补码)
目录 1 二进制 2 原码、反码、补码 3 位运算符 4 位运算符使用技巧 上回学习运算符时,漏了位运算符,因为位运算符理解起来稍微有点复杂,所以要单独写一篇~ 要理解按位运算符,要先了解计算机进行存储和计算的底层逻辑。 因此我们从最基础的二进制说起。 1 二进制 只要学过计算机,就不可能不知道二进制。 我们知道,十进制是逢十进一,譬如11,左边的1在十位上,代表10,右边的1在个位上,就是1。 把1502这个数字拆开看,就是有1个1000,5个100,0个10,2个1, [外链图片转存失败,源站可能有防盗
2021-02-23 13:11:34
2970
原创 安装redis时遇到的错误
安装redis时遇到的错误 执行sudo make 出错 cc:not found 原因:没有安装gcc 解决办法:sudo apt install gcc 安装gcc后再次执行sudo make 出现错误 错误内容:fatal error: jemalloc/jemalloc.h: 没有那个文件或目录 解决方法:执行make MALLOC=libc 执行sudo make test 出错 错误内容:You need tcl 8.5 or newer in order to run the Red
2021-02-23 13:10:12
256
原创 selenium
安装driver(淘宝镜像) chromedriver 需要对应的chrome版本 提示权限不足,sudo chmod +x phantomjs 基础属性和方法 driver.page_source:网页源码 driver.save_screenshot(“path”):页面截屏 driver.get_cookies() : 获取所有的cookie driver.current_url :当前的url地址 定位元素的方法 driver.find_element # 返回第一个元素,如果没有报错 d
2021-02-23 13:09:09
147
原创 scrapy
scrapy scrapy的数据流程 调取器——》request对象——》引擎——》下载中间件——》下载器 下载器发送请求,获取响应——》response——》下载中间件——》引擎——》爬虫中间件——spider spider提取数据——》引擎——》pipeline spider提取的url地址——》构造request对象——》爬虫中间件——》引擎——》调度器 scrapy的使用流程 创建项目 scrapy startproject 项目名 创建爬虫: cd <project> s
2021-02-23 13:08:15
176
原创 1.Url编码和解码的使用urllib
1.Url编码和解码的使用urllib 1.1 parse.urlencode() dict的编码 from urllib import parse a = "上海" b = parse.urlencode({'wb': '上海'}) # dict 数据的编码 c = parse.unquote(b) # dict数据解码 print(c) print(b) 12345678 1.2 parse.quote() 字符串的编码 from urllib import parse a =
2021-02-23 13:06:46
193
原创 多线程多进程爬虫
准备url地址的方法 知道url地址的规律,知道一共多少页,准备url列表 不知道url地址的规律或不知道总共有多少页,准备url_temp抓取下一页的url 多线程爬虫 threading t1 = threading.Thread(target=func, args=(,)) t1.setDaemon(True) ti.start() # 此时线程才会启动 队列 q.join() # 阻塞主线程,让主线程等待队列任务结束之后再结束,队列任务会在计数为0时结束 q.task_done() 和
2021-02-23 13:05:06
171
原创 爬虫基础
三元运算符 if 条件成立,if前面的结果赋值给to,否则else后面的内容赋值给to to = 'en' if lan=='zh' else 'zh' requests进行携带cookie登录 cookie字符串放在headers中 把cookie字典交给requests请求方法的cookies 字典推导式 {i:i+10 for i in range(10) if i%2==0} 寻找登录接口的方法 form表单action对应的url地址 用户名和密码的input标签中,name的值作为键
2021-02-23 13:04:19
133
原创 数据提取方法
html和xml的区别 html(超文本标记语言),用来显示数据 xml(可扩展标记语言),用来传输和存储数据 xpath语法 // 的用途 //a当前html页面上的所有的a bookstore//bookbookstore下的所有book元素 @的使用 //a/@herf所有a的href text()的使用 //a/text()获取所有的a下的文本 text()的使用 //a/text()获取所有的a下的文本 //a[text()=下一页]获取文本为下一页的a标签
2021-02-23 13:02:44
681
1
原创 mongodb
mongodb的简单操作 mongodb的安装与启动 链接: https://my.oschina.net/u/2417992/blog/3053325 mongodb中数据库和集合的命令 数据库不需要提前创建,插入数据时自动创建 show dbs 查看所有的数据库 use 数据库名 # 使用数据库 数据库名.dropDatabase() # 删除数据库 集合不需要提前创建,插入数据时自动创建 show collections # 查看所有集合 db.集合名.drop() # 删除集合
2020-11-17 16:20:42
219
原创 python中while xxx 和 while xxx is not None的区别
python中while xxx 和 while xxx is not None的区别 while xxx(以一个列表为例) 当xxx为None、False、空字符串、0、空列表、空字典、空元组时,xxx为False,反之xxx为True lst1 = [] lst2 = [1,2,3] while lst1: print(lst1) while lst2: print(lst2.pop(), end=' ') 输出结果为: 3 2 1 lst1并没有输出 while xxx i
2020-10-30 15:06:59
2054
原创 剑指offer 04.二维数组中的查找 python实现
剑指offer 04.二维数组中的查找 题目描述 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例矩阵 [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30] ]
2020-10-26 23:59:57
201
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅