自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

代码改变世界

既然不能安然地躺下,那就继续奋斗。

  • 博客(176)
  • 收藏
  • 关注

原创 Mongodb基本操作

mongodb的官方文档请查看:https://docs.mongodb.com/manual/reference/update-methods/1.db.getCollection('二手房').find({},{province:1}) (投影,只取province这个字段)image.png2.db.getCollection('二手房').find({},{provi...

2019-04-14 21:28:31 774

原创 scrapy默认去重

作者:乌尔班链接:https://www.zhihu.com/question/19793879/answer/312467126来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。增量爬取,一般两类情况:1.一个网站出现了新的页面,2.一个老页面内容变更了。无论哪一种,增量的前提都是已经存下已经爬取好的信息(至于哪些要存,下面说),当出现新的情况...

2019-03-06 12:45:22 3650

原创 mongo数据库导出mongoexport命令的使用

我用的MongoDB管理工具是Robo3T,今天需要从数据库中将集合数据导出,但是Robo3T我不怎么会玩,好像没有直接导出的功能,于是上网查了一下,找到了mongoexport这个命令,可以轻松导出数据在mongo机器上执行下面这条命令mongoexport -h 127.0.0.1 -d nginxlog -c tabo_201711 -f ModuleName,ButtonName,...

2019-03-04 13:13:24 5394 1

原创 python中if语句的真假判断

说明在python中,if作为条件语句,当if后面的条件参数为真时,则执行后面的语句块,反之跳过,为了深入理解if语句,我们需要知道if语句的真假判断方式。在写爬虫时经常会用到 if:xxx 然后再执行后面的语块,如果返回会的数据为空值列表,空字典等,则不会执行后面的语块。保留原来的变量。如scrapy中判断是否有下一页再发送请求,如果返回的数据为空值,不会执行后面 的语句发送请求...

2019-03-02 09:15:58 1304

转载 python函数参数

详情请查看:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000函数的参数定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知...

2019-02-28 20:30:38 201

转载 scrapy-settings

项目名称BOT_NAME = ''爬虫存储的文件路径SPIDER_MODULES = ['']创建爬虫文件的模板,创建好的爬虫文件会存放在这个目录下NEWSPIDER_MODULE = ''设置ua,模拟浏览器请求USER_AGENT = ''设置是否需要遵守robot协议:默认为TrueROBOTSTXT_OBEY = True/False设置请求的最大并发数...

2019-02-28 07:42:43 186

转载 python爬虫常见面试题(一)

前言  之所以在这里写下python爬虫常见面试题及解答,一是用作笔记,方便日后回忆;二是给自己一个和大家交流的机会,互相学习、进步,希望不正之处大家能给予指正;三是我也是互联网寒潮下岗的那批人之一,为了找工作而做准备。一、题目部分1、python中常用的数据结构有哪些?请简要介绍一下。2、简要描述python中单引号、双引号、三引号的区别。3、如何在一个function里设置...

2019-02-15 21:21:49 364

转载 js加密原理

 由于js是在客户端解释型的语言,所以很容易就可以通过浏览器查看到js写的源代码。这样,就有了加密js的需求。(其实这里的加密只是一种说法,从下面我们可以看出来其实没有起到加密的作用,只是把源代码做了一定的处理达到了无法直接阅读的目的)此外,对js的压缩也是提升性能的一种手段。以加密下面的JAVASCRIPT代码为例:CommonJs.js 文件....    function...

2019-01-12 00:01:35 3109

转载 浅谈javascript中回调函数和异步回调Script

 详情请查看:https://m.aliyun.com/jiaocheng/997634.html回调 异步 JavaScript 函数 Hi,小伙伴们,今天来和大家谈一谈有关javascript 中回调的问题,首先回调函数分为两种1、同步回调函数(普通的回调函数)2、异步回调函数 其中同步回调函数是要等到回调函数都执行完成后才能进行接下来的操作,也就是说是阻塞式运行。...

2019-01-10 09:56:41 753

转载 深入理解JavaScript系列(15):函数(Functions)

 详情请查看:https://www.cnblogs.com/TomXu/archive/2012/01/30/2326372.html 本章节我们要着重介绍的是一个非常常见的ECMAScript对象——函数(function),我们将详细讲解一下各种类型的函数是如何影响上下文的变量对象以及每个函数的作用域链都包含什么,以及回答诸如像下面这样的问题:下面声明的函数有什么区别么?(如果有...

2019-01-09 13:18:54 187

转载 关于公网IP和私有IP的区别

关于公网IP和私有IP的区别在百度直接搜索IP会显示公网IP,在cmd中输入ipconfig,或者在Linux终端下输入ifconfig,会显示出私有ip,这两个ip是不一样的,那么到底有什么区别呢?公网IP一般是运营商分配的,公网ip才能上网,但是不可能给每一个电脑分配一个IP,ipv4肯定是不够的。所以需要私有IP,这种ip一般是用于局域网的管理,不能直接连上互联网,必须通过公网ip上网...

2018-12-22 11:13:48 2075

原创 lambda表达式

lambda 简单理解是只有一行代码的函数,简单明了。   f   = lambda  x :x*x   调用的时候也是f() ,括号里面传参数。lambda 输入参数:输出的结果(表达式结果)。 lambda表达式是一行函数。它们在其他语言中也被称为匿名函数。如果你不想在程序中对一个函数使用两次,你也许会想用lambda表达式,它们和普通的函数完全一样。原型 lambd...

2018-12-21 23:48:53 329

转载 Python selenium —— 一定要会用selenium的等待,三种等待方式解读

 发现太多人不会用等待了,博主今天实在是忍不住要给大家讲讲等待的必要性。很多人在群里问,这个下拉框定位不到、那个弹出框定位不到…各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待。殊不知,你的代码运行速度是什么量级的,而浏览器加载渲染速度又是什么量级的,就好比闪电侠和凹凸曼约好去打怪兽,然后闪电侠打完回来之后问凹凸曼你为啥还在穿鞋没出门?凹凸曼分分中内心一万只羊驼...

2018-12-21 14:35:30 198

原创 python中的队列,进程池

爬虫中的队列能够起到线程安全的作用,比如说一个线程访问队列中的数据的时候,另外一个线程就就能访问了。这样取数据就不会发生数据重复。但是列表就不可以了,列表你一个线程访问列表里面的数据,其他线程也可能会重复访问这个数据,这样拿出来的数据就有可能重复。即是队列中的数据同一时刻只能被一个线程访问,列表中的数据可能同一时刻可能被多个线程访问,造成数据重复,不安全。用队列另外一个好处是可以解耦,可以让两...

2018-12-15 18:41:29 700

原创 python中深拷贝,浅拷贝

  #_author:'DJS'#date:2018-12-09#一个变量等于xx是指向,浅拷贝拷贝的是最顶层(拷贝的是引用而不是数据)的,深拷贝拷贝的是全部(相当于备份)import copyimport sysprint(sys.path) #查看导入模块的先后路径a = [1,2,3] #表示的a指向这个列表b = [4,5,6,]print(id(a))prin...

2018-12-15 18:30:15 246

原创 python私有化,import,封装,继承,多态

  封装就是拿面向过程的全局变量和函数搞成面向对象中类的属性和方法。继承:减少代码重复量。减少代码的冗余。多态就是一个子类继承了父类。但是每一个子类中都可以改写父类的方法。比如A子类改写了父类的C方法,B子类也改写了父类的C方法。那么再把改了父类C方法的子类传到H类中,在H类中调用这两个子类的C方法得到的结果就会不一样。但是调用父类其他方法还是得到的结果还是一样的。多态概括起来就是...

2018-12-15 18:29:06 568

原创 python多进程,多线程,协程

 线程依赖于进程,协程依赖于线程,效率最好的是协程,其次到线程,再到进程。总结:单线程会阻塞,协程不会阻塞。主要看会不会阻塞,其次看耗不耗资源。对比之下协程是最好的。 主线程结束,子线程才会结束。程序和进程通俗来讲就是一个运行一个不运行,不运行的叫程序,运行起来的叫进程。程序只有一个,但是进程可以有多个,即是一个程序可以对应多个进程。进程是一个拥有资源的地方。资源是一个资源分配的地方。...

2018-12-15 18:26:54 1133 1

原创 python 闭包 ,装饰器

  #_author:'DJS'#date:2018-12-12import time##闭包就是两个函数组成,里面的函数用到外面函数的变量值再加上里面函数的值,那一个坨空间,就是闭包。##能当做实参进行传递,并且能传递功能和数据。def line_6(k,b): x = 200 def create_y(x): nonlocal x #修改闭包...

2018-12-15 18:24:16 209

原创 break与continue,return结束循环区别

    break是跳出一层循环,continue是结束一趟循环 ,return才是结束所有层循环!如果有多层for循环,break会跳出当前这一层,去执行最外层循环(而不是退出所有层循环);而continue则结束当前次循环(继续)而去执行下次循环,但本层循环没有结束.(注意一层循环和一次循环的区别:一层循环包含若干(i)次循环) ...

2018-12-07 14:18:32 209

转载 网络编程是什么

 对于初学者,或者没有接触过网络编程的程序员,会觉得网络编程涉及的知识很高深,很难,其实这是一种误解,当你的语法熟悉以后,其实基本的网络编程现在已经被实现的异常简单了。  网络编程是什么?  网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据。  现在...

2018-12-06 23:55:38 353

转载 jupyter notebook 写代码自动补全

 操作步骤进入命令行环境。我使用的是conda。有两种方式进入命令行。方法1:通过anconda navigator界面,选择environments,选择对应环境名,选择open terminal方法2:直接使用cmd或者terminal等终端进入命令行。激活你想要配置代码补全的环境(如果是默认环境不用激活)1.安装nbextensions pip install jup...

2018-12-02 16:18:27 1281

转载 Python函数定义及传参方式

一、函数初识  1、定义:      将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可。   2、好处:      代码重用;保持一致性;可扩展性。  3、示例如下:    # -*-coding:utf-8-*-def sayHello(): print('Hello world!')sayHello()...

2018-11-29 10:43:37 449

原创 前程无忧爬虫实战(通过输入关键字爬取任意职位并自动保存为.csv文本)

![0e644a1fa9dc00c3e7c752bdf4382aa2.jpg](https://upload-images.jianshu.io/upload_images/9136378-72ab92577ff68f7d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)#这里只分析主要的思路和要注意的点。有什么不懂的可以评论提问,...

2018-11-28 20:04:45 4138 9

原创 拉勾爬虫实战(通过输入关键字爬取任意职位并自动保存为.csv文本)

 ![178bc26d6a28e9f177010e9150d849f2.jpg](https://upload-images.jianshu.io/upload_images/9136378-068a8b1de5a0204f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)#这里只分析主要的思路和要注意的点。有什么不懂的可以评论...

2018-11-28 19:47:18 1444

转载 requests库中content和text调用的区别

详情请查看:https://www.jianshu.com/p/0e0336b370f3 对requests获取的原始数据,有两种获取形式,一个是r.content一个是r.text。二者的区别在于content返回的是byte型数据,而text返回的是Unicode数据,也就是说text对原始数据进行的特殊的编码,而这个编码方式是基于对原始数据的猜测(响应头),text一般用于返...

2018-11-28 11:46:12 1155

转载 return 和yield的区别

 详情请查看:https://www.jianshu.com/p/a3383b144eb6yield和return对于新手来说,这两个是容易让人混淆的地方,这里再梳理一遍 解释一就像打电玩一样,你蓄力发大招的时候,如果执行了return,就直接把大招发出去了,蓄力结束如果执行了yield,就相当于返回一个生成器对象,每调用一次next(),就发一个大招 解释二...

2018-11-28 09:56:21 8003 4

原创 csv文件处理

 1.纯文本,使用某个字符集,比如 ASCI,Unicode、 EBCDIC或GB2312(简体中文环境)等2由记录组成(典型的是行条记录);3.每条记录被分符分隔为段(典型分精符有退号、分号或制表符:有时分隔符可以包括可选的空)4.每条记录都有同样的字段序列 import csv#读入csv文件中# def csv_demo1():# with ...

2018-11-24 17:32:32 480

原创 json文件处理

 json文件处理什么是jsonJsON( JavaScript Object Notation,Js对象标记是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的s规范)的集,采用完全独立于编程语言的文本格式存储和表示数据。简洁和清晰的层次结构使得json成为理想的数据交换语言读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。json完全独立于语言 ...

2018-11-24 16:12:56 5979

转载 详解Python中的join()函数的用法

 函数:string.join()Python中有join()和os.path.join()两个函数,具体作用如下:    join():    连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串    os.path.join():  将多个路径组合后返回一、函数说明1、join()函数语法:  'sep'.join(seq)参数说...

2018-11-24 14:55:54 355

原创 postman使用介绍

  json和html ,xml一样都是用来表示数据的一种语言,json能表示复杂的数据,所以很多架构师都喜欢用它 所以json能表示很复杂的数据结构信息。现在xml一般不用了,标签复杂,性能也没有json高。postman不适合用来做自动化测试,自动化测试要用编程语言。暴露给web端的才要做接口测试的,系统的内部接口一般不需要。   ...

2018-11-22 20:43:06 418

原创 Fiddler 抓手机的包

 为什么要抓手机端的包呢?有的网站电脑访问和手机访问会回馈不同的页面或内容,网站服务器是如何区分的呢?通过UA( ser-agent)来区别是电脑还是手机端进行的访问(从这里你也可以看出,通过伪装UA可以访问到手机端的页面),直接抓手机的包不需要伪装接就是。首先你需要有一台手机,咽,实在没有也没有关系,还可以用模拟器(如夜神模拟器),也可以使用其他模拟器,也可以在自己真实的手机上使...

2018-11-22 11:41:07 1071

原创 Fiddler 基本使用

Fiddler是款免费的互联网调试代理工具,这是比较专业的叫法了,是款国外软件原版软件无中文版,但有汉化版。它不仅可以抓取你电脑甚至手机与互联网的各种http通讯,同时还能查看他们进行分析。在必要的时候,你甚至可以修改(伪造)某些通讯实现前后端开发者调试的作用。其他作用比如解密hp协议会话,测试网站的性能以及开发和使用第三方插件。抓包指的就是抓数据包,比如请求一个接口,图片,json等都是抓包...

2018-11-22 09:29:42 336

原创 selenium使用 看这一篇就够了

  使用 seleniun模拟浏览器进行数据抓取无疑是当下最通用的数据采集方案,它通吃各种数据加载方式,能够绕过客户巧S加密,绕过爬虫检测,绕过签名机制,它的应用,使得许多网站的反采集第略形同虚设:由于lenium不会在HTP请求数据中留下指纹,因此无法被网站直接识别和拦截。但这并不意味着 selenium真的就无法被网站屏蔽了,感兴趣的可以自己去研究。安装selenium的驱动浏览器...

2018-11-21 19:33:05 2449

转载 redis连接池理解

 详情请查看:https://blog.csdn.net/HeatDeath/article/details/79450409redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一...

2018-11-20 07:38:13 815

转载 Python requests模块params与data的区别

 requests模块发送请求有data、params两种携带参数的方法。params在get请求中使用,data在post请求中使用。 requests中文文档:点击打开链接 通过介绍,params是往url后面添加参数。 ...

2018-11-19 16:07:26 846 1

转载 postman 在爬虫中的应用3

 详情请查看: https://www.shangyang.me/2018/01/24/crawler-tools-postman/ POSTMAN 功能简介POSTMAN 的核心功能区域有,如下图所示,postman overview.png从左至右,从上至下总共有 5 个核心的区域;连接请求 参数输入 发送请求 设置 Authorization、Headers、B...

2018-11-18 21:25:14 734

转载 postman介绍2

 详情请查看:http://www.jackfred.cn/2016/10/22/postman%E5%A5%87%E6%8A%80%E6%B7%AB%E5%B7%A7/postman是chrome浏览器应用市场里面的一款神器,测试人员的好帮手,黑客手里的爬虫利器。postman介绍postman是一个用来方便构造各种各样网络请求的工具,他的平台是构建在chrome上的。因为强大有...

2018-11-18 20:07:38 1370 2

转载 使用postman一键生成你的爬虫代码(postman在爬虫中的应用)1

详情请查看:https://zhuanlan.zhihu.com/p/42832499 使用postman ,按照下面的指导,可以查看请求中需要带上那些信息。直接生成代码,把代码复制到编译器使用就可以了。今天介绍一个神器postman,可以一键生成我们的爬虫代码。即能提高我们的开发效率,还能有效的解决我们实际工作中爬虫难题。先来看一段最简单的爬虫代码。import reques...

2018-11-18 19:47:18 3901 1

原创 总结5 (http协议与chorme抓包,cookie,ajax加载爬取)

 get 请求:从服务器获取数据,并不会对服务器资源产生影响的,使用get请求(一般情况)post请求:向服务器发送数据(登录),上传文件等。会对服务器的资源产生影响的。 请求头常见参数在nttp协议中,向服务器发送一个请求,数据分为三部分,第一个是把数据放在ur中,第二个是把数据放在body中(在post请求中),第三个就是把数据放在head中。这里介绍在网络各爬虫中经常会用到...

2018-11-18 13:30:22 4042 3

原创 github 使用

     先下载一个git在电脑,然后再cmd里面输入下的命令1 git  config  --global   user.name 'pacdm'  (在本地配置用户名)2 git  config  --global  user.email  '[email protected]'(配置邮箱)3 git config  --global    -l  (查看配置的信息)4 ...

2018-11-17 20:33:31 222

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除