- 博客(28)
- 收藏
- 关注
原创 url去重
常见URL过滤方法1 直接查询比较假设要存储url A,在入库前首先查询url库中是否存在 A,如果存在,则不入库,否则入库。这种方法准确性高,但是一旦数据量变大,占用的存储空间也变大,同时,由于要查库,数据一多,查询时间变长,存储效率下降。2 基于hashlib(MD5,SHA1摘要算法)的存储对于给定的url,通过hash函数生成对应的hash值,并将该值存入库中。当在检查url是否...
2019-02-17 18:09:29 420 1
原创 npm/cnpm 淘宝镜像
npm1.临时使用npm --registry https://registry.npm.taobao.org install express2.持久使用npm config set registry https://registry.npm.taobao.org配置后可通过下面方式来验证是否成功npm config get registry或npm info express...
2019-02-13 11:26:54 195
原创 正则匹配汉字文字
匹配汉字文字:[\u4e00-\u9fa5]匹配非汉字字符:[^\u4e00-\u9fa5]匹配双字节字符(汉字、中文标点符号等):[^\x00-\xff]import restr='''汉字文字1234567890abcdefghijklmnopqrstuvwxyz-_+=!@#$%^&*()[]{};:"'<>,.?/|~ `'''ret = re...
2019-01-22 10:07:33 2230 1
原创 pip 换源
先推荐pip国内的一些镜像阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/...
2019-01-07 20:05:23 300
原创 爬虫 解决网页ip限制
方法一:user agent 伪装和轮换 使用代理 ip 和轮换 cookies 的处理,有的网站对登陆用户政策宽松些方法二:尽可能的模拟用户行为: UserAgent经常换一换 访问时间间隔设长一点,访问时间设置为随机数; 访问页面的顺序也可以随机着来方法三:网站封的依据一般是单位时间内特定IP的访问次数. 我是将采集的任务按 目标站点的IP进行分组 通过控制每个I...
2018-12-24 21:42:27 263
原创 python selenium 根据文字定位
1、全部文字python:browser.find_element_by_xpath("//*[text()='花呗套现']").click()2、部分文字python:browser.find_element_by_xpath("//*[contains(text(),'花呗')]").click()
2018-12-19 16:49:46 901
转载 mysql 主从复制与读写分离
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分...
2018-12-09 18:15:37 125
原创 git push 出现 The requested URL returned error: 403
github push错误fatal: unable to access ‘https://github.com/用户名/项目名.git/’: The requested URL returned error: 403解决方法:vim .git/config在github.com前面添加 “用户名@”修改前[remote “origin”] url = https://gi...
2018-12-05 11:37:36 3718 1
转载 I/O事件,五种I/O模型
1.1 五种I/O模型1)阻塞I/O2)非阻塞I/O3)I/O复用4)事件(信号)驱动I/O5)异步I/O1.2 为什么要发起系统调用?因为进程想要获取磁盘中的数据,而能和磁盘打交道的只能是内核, 进程通知内核,说要磁盘中的数据此过程就是系统调用1.3 一次I/O完成的步骤当进程发起系统调用时候,这个系统调用就进入内核模式, 然后开始I/O操作I/O操作分为俩个步骤:1) ...
2018-12-04 14:14:27 1229
原创 python 二叉树
关于二叉树的镜像问题:思路是这样的:从根结点出发,先交换它的左节点和右节点,然后对左子树作镜像,再对右子树作镜像。代码如下:def Mirror(root): if not root: return root.left,root.right=root.right,root.left Mirror(root.left) Mirror(root.r...
2018-12-02 19:52:20 170
原创 python 输出时间
1.先导入库:import datetime2.获取当前日期和时间:now_time = datetime.datetime.now()3.格式化成我们想要的日期:strftime()比如:“2016-09-21”:datetime.datetime.now().strftime(’%Y-%m-%d’)4.在当前时间增加1小时:add_hour=datetime.datetime.now(...
2018-12-01 15:26:12 1860
原创 python 中的各种小数点后的精度处理方式
目前用过最方便的: %例如:result为一个list,为result中每个值保留小数点后4位。 result = [(&quot;%.4f&quot; % i) for i in result]Python 3.X对于浮点数默认提供17位数字的精度。关于单精度和双精度:单精度型float双精度型double。在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3...
2018-11-29 20:29:26 19305 2
原创 python 多种方法解决 列表元素左右循环移动
#待处理列表A= [1,2,3,4,5]#移动次数a = 3右移比较简单for i in range(a): A.insert(0,A.pop())左移for i in range(a): A.insert(len(A),A[0]) A.remove(A[0])#左移for i in range(a): b = A.pop(0) ...
2018-11-29 17:56:46 3634
转载 JavaScript , jQuery , ajax 三者的区别与联系
先来个简单总结:1、JS是一门前端语言。2、Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新。3、jQuery是一个框架,它对JS进行了封装,使其更方便使用。jQuery使得JS与Ajax的使用更方便关系比喻:若把js比作木头,那么jquery就是木板(半成品)jQuery与ajax都是js的一个框架,各有各的...
2018-11-28 12:21:48 216
转载 知己知彼,百爬不殆 之 反爬虫的前世今生
编者:本文来自携程酒店研发部研发经理崔广宇在第三期【携程技术微分享】上的分享,以下为整理的内容概要。你被爬虫侵扰过么?当你看到“爬虫”两个字的时候,是不是已经有点血脉贲张的感觉了?千万要忍耐,稍稍做点什么,就可以在名义上让他们胜利,实际上让他们受损失。一、为什么要反爬虫1、爬虫占总PV比例较高,这样浪费钱(尤其是三月份爬虫)。三月份爬虫是个什么概念呢?每年的三月份我们会迎接一次爬虫高峰期。...
2018-11-24 17:09:43 383
转载 如何防止你的爬虫被网管一巴掌拍死
方法1.之前由于公司项目需要,采集过google地图数据,还有一些大型网站数据。经验如下:1.IP必须需要,像@alswl 说的非常正确,ADSL。如果有条件,其实可以跟机房多申请外网IP。2.在有外网IP的机器上,部署代理服务器。3.你的程序,使用轮训替换代理服务器来访问想要采集的网站。好处:1.程序逻辑变化小,只需要代理功能。 2.根据对方网站屏蔽规则不同,你只需要添加更多的...
2018-11-24 16:26:59 2584
转载 你要知道的 爬虫 封禁与破封
挺有意思的https://blog.csdn.net/qq_37634812/article/details/77658066
2018-11-24 16:16:18 223
原创 python 之 协程 初识 及其优缺点
协程,又称微线程,纤程。英文名Coroutine。协程是一种用户态的轻量级线程。 线程是系统级别的,它们是由操作系统调度;协程是程序级别的,由程序员根据需要自己调度。我们把一个线程中的一个个函数叫做子程序,那么子程序在执行过程中可以中断去执行别的子程序;别的子程序也可以中断回来继续执行之前的子程序,这就是协程。也就是说同一线程下的一段代码执行着执行着就可以中断,然后跳去执行另一段代码,当再次...
2018-11-23 12:27:26 1695
原创 python之单例模式的五种写法
1、new#实现__new__方法#并在将一个类的实例绑定到类变量_instance上, #如果cls._instance为None说明该类还没有实例化过,实例化该类,并返回 #如果cls._instance不为None,直接返回cls._instance class Singleton(object): def __new__(cls, *args, **kw): ...
2018-11-22 16:31:27 1291
原创 python 列表 花样去重
# 待去重列表lt1 = [1,3,2,3,4,5,3,5]1.使用集合(结果为升序) lt2 = list(set(lt1))2.使用字典lt2 = list({}.fromkeys(lt1).keys())3.使用排序lt2 = sorted(set(lt1),key=lt1.index) 4.使用列表生成式lt2 = [][lt2.append(i) for i...
2018-11-21 20:30:40 2313
原创 python 之 如何使用一些工具和方法来提高代码的运行速度
1.数据结构一定要选对有百万个数据进行排序,选择列表,排序8分钟,选用字典,只用了十几秒。2.多用python中封装好的模块库比如numpy,matplotlib,pandas这三个。matplotlib是绘图库,这个就不多说了,numpy和pandas非常强大,numpy主要是用于计算的,里面有一个多维的数组对象叫ndarray,它具有矢量算术运算能力和复杂的广播能力,并具有执行速度快和...
2018-11-21 09:52:48 2344
原创 python 如何进行 内存管理
首先谈谈为什么进行内存管理内存管理是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。Python引入了一个机制:引用计数python内部使用引用计数,来保持追踪内存中的对象,就是记录对象有多少个引用. 当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。总结一下对象会在...
2018-11-20 12:13:46 289
原创 python之你可能不知道的常用小点滴 -_-
一感二爱三井四钱五百分 六尖七和八星九灵狐捡灯 ! @ # $ % ^ & * ( ) - = , . / ? ' \ | ~ ` 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。 代码规范 之 空行 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口...
2018-11-13 18:17:26 233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人