![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
文章平均质量分 90
流夏_
去追随那些使你安宁的东西
展开
-
正则表达式之贪婪匹配与非贪婪匹配
在前面正则表达式匹配规则里,提到了 .*. :匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用像 '[.\n]' 的模式* :匹配0个或多个使用 .* 的话就可以匹配任意长度的任意字符,但是有时候在使用 .*时就可能匹配不到物品们想要的结果,例:import res='hello 1234567 world'res = re.match('...原创 2018-10-07 16:14:06 · 36692 阅读 · 7 评论 -
scrapy-redis 更改队列和分布式爬虫
为初学者方便对分布式爬虫的学习,总结了一下自己的理解和网上的知识点初学者的几个疑问点:1.什么是分布式爬虫?请参考:https://blog.csdn.net/zhusongziye/article/details/804574872.分布式爬虫需要掌握哪些技能?scrapy-redis原理3.scrapy-redis是干吗用的?记分布式爬虫关键点:(1)scrap...转载 2019-02-24 15:40:05 · 1741 阅读 · 0 评论 -
xpath中根据指定文本内容定位标签
#scrapy框架中response.xpath('//div/span[contains(text(), "指定文本内容")]').extract()#其它browser.find_element_by_xpath('//button/span[contains(text(), "指定文本内容")]').click()指定文本内容 可以是 匹配全部文本 也可是 匹配部分文本...原创 2019-01-21 14:27:12 · 22626 阅读 · 0 评论 -
关于scrapy框架中遇到需要登录时的解决办法
最近在工作中频繁遇到需要登录后才能抓取的数据,但也不是没有解决办法,以往解决办法如下:A. 现在浏览器里登录,然后把登录后的cookie粘贴到代码中去请求,这样就相当与利用cookie"伪造"了一个分身,从而跳过登录验证。这样往往可以解决大部分需求,但是遇到需要crontab定时爬取就显得鸡肋。cookies是有生存时间的,一旦cookies死掉那么服务器上正在跑的代码也会崩溃掉,如果还...原创 2019-01-24 18:16:32 · 2078 阅读 · 3 评论 -
详谈Python的高级特性、函数式编程、高阶函数
1、什么是Python的高级特性?这个问题对于许多正在学习Python的小伙伴来说可能会很疑惑?很多人知道这个名词,但不知道这玩意到底是什么。其实,Python作为一门高级语言它有许多的内置函数,运用这些函数可以很方便的完成一些功能,而这些特性,笼统的可称为Python的高级特性。简单地说Python的高级特性就是一些Python函数的高级用法。(1)集合的推导式 列表推导式,使用一...原创 2018-11-06 10:08:21 · 293 阅读 · 0 评论 -
Python爬虫笔记————抓取 猫眼电影排行榜Top100
注:初学爬虫,本节仅使用requests库和使用正则作为解析工具 最近学习爬虫,找个比较简单的网页练习了一下,作为初入爬虫的小白,不足之处还请大家多多指教。一、分析url首先,打开目标站点https://maoyan.com/board/4,打开之后便看到榜单信息: 排名第一的电影是霸王别姬,页面中可以看到的信息有电影名称,主演,上映时间,电影封面,评分,排名等。页面最...原创 2018-10-08 20:11:08 · 5837 阅读 · 3 评论 -
关于猴子选大王(约瑟夫)问题
摘至本人有道云笔记《关于猴子选大王(约瑟夫)问题》有m个猴子围成一圈,按顺时针编号,分别为1到m。现打算从中选出一个大王。经过协商,决定选大王的规则如下:从第一个开始顺时针报数,报到n的猴子出圈,紧接着从下一个又从1顺时针循环报数,...,如此下去,最后剩下来的就是大王。 看完这道题,首先想到的是列表,而且这个列表是首尾相接不断循环。针对此问题切入设置一个列表存储猴子 a=[1,1...原创 2018-09-30 18:33:36 · 3079 阅读 · 0 评论 -
关于散列表(字典)
摘至本人有道云笔记《关于散列表(字典)》 a={"张三":"1"}散列表的速度很块,当输入key时可以很快地返回value,这只需要很短的时间,相当于一个映射,将输入的key映射成value值。可用于很快的查找出数据。比如,将数据存入列表,将key对应的value存为对应数据列表中的下标,当输入key时,很快的得到一个下标,然后去列表中取出对应的值。散列表的操作a.get(...原创 2018-09-30 18:33:28 · 197 阅读 · 0 评论 -
关于二分查找
摘至本人有道云笔记《关于二分查找》 首先假设有个有序序列bb = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]1,取高位和低位的下标作为查找的范围 low heigh2,取中间的数mid作为参考点(与猜的数字n进行比较)3,如果n小于mid 那么猜的数字n在列表的低址部分4,将mid...原创 2018-09-29 21:07:41 · 137 阅读 · 0 评论 -
快速排序(速记)
摘至本人有道云笔记《快速排序(速记)》 1,取一个元素作为基准值2,把大于基准值的放右边,小于基准值的放左边3,在左边执行 1,2, ---递归直到列表长度小于2 ,同理 右边同样4,将子序列排序后 同基准值合并----得到有序序列修:此例始终将第一个值作为基准值,实际上这样做是没有意义的,因为这样左边的列表始终为空,导致调用栈非常长 如果将始终将中间值作为...原创 2018-09-29 21:02:04 · 373 阅读 · 0 评论 -
Python进程
摘至本人有道云笔记《Python进程》1.主要设计模块import os :进程的数据 getpid()获取当前进程id getppid()获取父进程id from multiprocessing improt Process : 创建进程 multiprocessing模块提供了一个Process类来代表一个进程对象 使用Proce...原创 2018-09-29 20:55:36 · 268 阅读 · 0 评论 -
Python中的多任务--进程和多线程
摘至本人有道云笔记《Python中的多任务--进程和多线程》1.什么是多任务--进程简单地说,就是操作系统可以同时运行多个任务。对于操作系统来说,一个任务就是一个进程。关于多任务的调度时间片调度:各个任务交替执行,任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再 切换到任务3,执行0.01秒……这样反复执行下去。表面上看,每个任务都是交替执行的,但是,由于CPU的执行速...原创 2018-09-29 20:46:27 · 294 阅读 · 0 评论 -
Python线程,以及多线程带来的数据错乱和死锁的解决方法
摘至本人有道云笔记《Python线程》1.python多线程的创建在Python中,同样可以实现多线程,有两个标准模块thread和threading,不过我们主要使用更高级的threading模块threading模块提供的类: Thread, Lock, Rlock, Condition, [Bounded]Semaphore, Event, Timer, local。...原创 2018-09-29 20:34:52 · 16391 阅读 · 0 评论 -
Python--ThreadLocal
摘至本人有道云笔记《Python--ThreadLocal》1.ThreadLocal在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。但是局部变量也有问题,就是在函数调用的时候,传递起来很麻烦。local = threading.local()此时这个local就变成...原创 2018-09-29 20:01:47 · 2584 阅读 · 0 评论 -
Python--协程
摘至本人有道云笔记 《Python--协程》1.协程的定义协程,又称微线程,纤程。英文名Coroutine。首先我们得知道协程是啥?协程其实可以认为是比线程更小的执行单元。 为啥说他是一个执行单元,因为他自带CPU上下文。这样只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这个过程中保存或恢复 CPU上下文那么程序还是可以运行的。 2.协程和线程的差异线程...原创 2018-09-29 19:51:24 · 155 阅读 · 0 评论 -
关于浏览器兼容性问题
摘至本人有道云笔记 《关于浏览器兼容性问题》今天在写python--web服务器的时候遇到一个浏览器兼容问题写响应头时a='HTTP/1.1 200 OK\r\n'#响应头(协议)HTTP后面要加 / ,如不加,在谷歌浏览器可以正常识别为响应头,但是火狐浏览器却识别不了,问题虽然小,但是影响很严重,要注意 ...原创 2018-09-29 19:47:47 · 212 阅读 · 0 评论 -
MySQL操作,以及常用命令
MySQL操作创建数据库:create database 数据库名;操作数据库:use 数据库名;显示所有数据库:show databases;显示所有表:show tables;创建表:create table 表名(字段名1 字段属性,字段名2 字段属性,...);插入表数据:insert into 表名([字段名1,字段名2,...]) values (数据1,数据2...原创 2018-09-29 19:44:39 · 154 阅读 · 0 评论 -
正则表达式
1.导入re模块\d :匹配任意数字介于0-9之间,等价于[0-9]\D :匹配任意非数字,等价于[^0-9][0-9]:匹配0-9的任意一个数字[1234dasf]:原子列表,匹配列表里的任意一个字符 \w :匹配数字、字母、下划线 ,等价于[a-zA-Z0-9]\W :匹配非数字、字母、下划线 ,等价于[^a-zA-Z0-9] \s :匹配任意空白字符 \n...原创 2018-09-29 19:08:19 · 449 阅读 · 0 评论 -
Python+Appium实现控制app
在这之前需要做好以下几个步骤:1.java开发环境JDK2.android SDK(platform/platform tools/tools/build tools)3.python下载安装(pip)4.appium下载安装(服务端+客户端)5.安装appium-python-client第一步:安装JDK,这里准备了很详细的步骤,没装JDK的请点这里https:...原创 2019-03-26 14:26:13 · 24155 阅读 · 2 评论