<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[代码改变世界]]></title><description><![CDATA[既然不能安然地躺下，那就继续奋斗。]]></description><link>https://blog.youkuaiyun.com/djs123DJS</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; djs123DJS]]></copyright><item><title><![CDATA[Mongodb基本操作]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/89302337</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/89302337</guid><author>djs123DJS</author><pubDate>Sun, 14 Apr 2019 21:28:31 +0800</pubDate><description><![CDATA[mongodb的官方文档请查看：https://docs.mongodb.com/manual/reference/update-methods/

1.db.getCollection('二手房').find({},{province:1}) （投影，只取province这个字段）





image.png

2.db.getCollection('二手房').find({},{provi...]]></description><category></category></item><item><title><![CDATA[scrapy默认去重]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/88230070</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/88230070</guid><author>djs123DJS</author><pubDate>Wed, 06 Mar 2019 12:45:22 +0800</pubDate><description><![CDATA[作者：乌尔班
链接：https://www.zhihu.com/question/19793879/answer/312467126
来源：知乎
著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。


增量爬取，一般两类情况：1.一个网站出现了新的页面，2.一个老页面内容变更了。

无论哪一种，增量的前提都是已经存下已经爬取好的信息（至于哪些要存，下面说），当出现新的情况...]]></description><category></category></item><item><title><![CDATA[mongo数据库导出mongoexport命令的使用]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/88111169</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/88111169</guid><author>djs123DJS</author><pubDate>Mon, 04 Mar 2019 13:13:24 +0800</pubDate><description><![CDATA[我用的MongoDB管理工具是Robo3T，今天需要从数据库中将集合数据导出，但是Robo3T我不怎么会玩，好像没有直接导出的功能，于是上网查了一下，找到了mongoexport这个命令，可以轻松导出数据
在mongo机器上执行下面这条命令


mongoexport -h 127.0.0.1 -d nginxlog -c tabo_201711 -f ModuleName,ButtonName,...]]></description><category></category></item><item><title><![CDATA[python中if语句的真假判断]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/88071937</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/88071937</guid><author>djs123DJS</author><pubDate>Sat, 02 Mar 2019 09:15:58 +0800</pubDate><description><![CDATA[说明
在python中，if作为条件语句，当if后面的条件参数为真时，则执行后面的语句块，反之跳过，为了深入理解if语句，我们需要知道if语句的真假判断方式。

在写爬虫时经常会用到  if：xxx 然后再执行后面的语块，如果返回会的数据为空值列表，空字典等，则不会执行后面的语块。保留原来的变量。如scrapy中判断是否有下一页再发送请求，如果返回的数据为空值，不会执行后面 的语句发送请求...]]></description><category></category></item><item><title><![CDATA[python函数参数]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/88044232</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/88044232</guid><author>djs123DJS</author><pubDate>Thu, 28 Feb 2019 20:30:38 +0800</pubDate><description><![CDATA[详情请查看：https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000

函数的参数

定义函数的时候，我们把参数的名字和位置确定下来，函数的接口定义就完成了。对于函数的调用者来说，只需要知...]]></description><category></category></item><item><title><![CDATA[scrapy-settings]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/88009445</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/88009445</guid><author>djs123DJS</author><pubDate>Thu, 28 Feb 2019 07:42:43 +0800</pubDate><description><![CDATA[项目名称
BOT_NAME = ''

爬虫存储的文件路径
SPIDER_MODULES = ['']

创建爬虫文件的模板，创建好的爬虫文件会存放在这个目录下
NEWSPIDER_MODULE = ''

设置ua，模拟浏览器请求
USER_AGENT = ''

设置是否需要遵守robot协议：默认为True
ROBOTSTXT_OBEY = True/False

设置请求的最大并发数...]]></description><category></category></item><item><title><![CDATA[python爬虫常见面试题（一）]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/87388805</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/87388805</guid><author>djs123DJS</author><pubDate>Fri, 15 Feb 2019 21:21:49 +0800</pubDate><description><![CDATA[前言

　　之所以在这里写下python爬虫常见面试题及解答，一是用作笔记，方便日后回忆；二是给自己一个和大家交流的机会，互相学习、进步，希望不正之处大家能给予指正；三是我也是互联网寒潮下岗的那批人之一，为了找工作而做准备。

一、题目部分

1、python中常用的数据结构有哪些？请简要介绍一下。

2、简要描述python中单引号、双引号、三引号的区别。

3、如何在一个function里设置...]]></description><category></category></item><item><title><![CDATA[js加密原理]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/86325658</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/86325658</guid><author>djs123DJS</author><pubDate>Sat, 12 Jan 2019 00:01:35 +0800</pubDate><description><![CDATA[ 

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

以加密下面的JAVASCRIPT代码为例：

CommonJs.js 文件

....

    function...]]></description><category></category></item><item><title><![CDATA[浅谈javascript中回调函数和异步回调Script]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/86215322</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/86215322</guid><author>djs123DJS</author><pubDate>Thu, 10 Jan 2019 09:56:41 +0800</pubDate><description><![CDATA[ 

详情请查看：https://m.aliyun.com/jiaocheng/997634.html

回调 异步 JavaScript 函数

 

Hi,小伙伴们,今天来和大家谈一谈有关javascript 中回调的问题,首先回调函数分为两种
1、同步回调函数(普通的回调函数)
2、异步回调函数

 

其中同步回调函数是要等到回调函数都执行完成后才能进行接下来的操作,也就是说是阻塞式运行。...]]></description><category></category></item><item><title><![CDATA[深入理解JavaScript系列（15）：函数（Functions）]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/86146314</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/86146314</guid><author>djs123DJS</author><pubDate>Wed, 09 Jan 2019 13:18:54 +0800</pubDate><description><![CDATA[ 

详情请查看：https://www.cnblogs.com/TomXu/archive/2012/01/30/2326372.html

 

本章节我们要着重介绍的是一个非常常见的ECMAScript对象——函数（function),我们将详细讲解一下各种类型的函数是如何影响上下文的变量对象以及每个函数的作用域链都包含什么，以及回答诸如像下面这样的问题：下面声明的函数有什么区别么？（如果有...]]></description><category></category></item><item><title><![CDATA[关于公网IP和私有IP的区别]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/85199273</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/85199273</guid><author>djs123DJS</author><pubDate>Sat, 22 Dec 2018 11:13:48 +0800</pubDate><description><![CDATA[关于公网IP和私有IP的区别
在百度直接搜索IP会显示公网IP，在cmd中输入ipconfig，或者在Linux终端下输入ifconfig，会显示出私有ip，这两个ip是不一样的,那么到底有什么区别呢？

公网IP一般是运营商分配的，公网ip才能上网，但是不可能给每一个电脑分配一个IP，ipv4肯定是不够的。所以需要私有IP，这种ip一般是用于局域网的管理，不能直接连上互联网，必须通过公网ip上网...]]></description><category></category></item><item><title><![CDATA[lambda表达式]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/85178985</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/85178985</guid><author>djs123DJS</author><pubDate>Fri, 21 Dec 2018 23:48:53 +0800</pubDate><description><![CDATA[lambda 简单理解是只有一行代码的函数，简单明了。   f   = lambda  x :x*x   调用的时候也是f() ,括号里面传参数。

lambda 输入参数：输出的结果（表达式结果）。 

lambda表达式是一行函数。
它们在其他语言中也被称为匿名函数。如果你不想在程序中对一个函数使用两次，你也许会想用lambda表达式，它们和普通的函数完全一样。

原型


    lambd...]]></description><category></category></item><item><title><![CDATA[Python selenium —— 一定要会用selenium的等待，三种等待方式解读]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/85161734</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/85161734</guid><author>djs123DJS</author><pubDate>Fri, 21 Dec 2018 14:35:30 +0800</pubDate><description><![CDATA[ 

发现太多人不会用等待了，博主今天实在是忍不住要给大家讲讲等待的必要性。

很多人在群里问，这个下拉框定位不到、那个弹出框定位不到…各种定位不到，其实大多数情况下就是两种问题：1 有frame，2 没有加等待。殊不知，你的代码运行速度是什么量级的，而浏览器加载渲染速度又是什么量级的，就好比闪电侠和凹凸曼约好去打怪兽，然后闪电侠打完回来之后问凹凸曼你为啥还在穿鞋没出门？凹凸曼分分中内心一万只羊驼...]]></description><category></category></item><item><title><![CDATA[python中的队列，进程池]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/84843876</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/84843876</guid><author>djs123DJS</author><pubDate>Sat, 15 Dec 2018 18:41:29 +0800</pubDate><description><![CDATA[爬虫中的队列能够起到线程安全的作用，比如说一个线程访问队列中的数据的时候，另外一个线程就就能访问了。这样取数据就不会发生数据重复。但是列表就不可以了，列表你一个线程访问列表里面的数据，其他线程也可能会重复访问这个数据，这样拿出来的数据就有可能重复。即是队列中的数据同一时刻只能被一个线程访问，列表中的数据可能同一时刻可能被多个线程访问，造成数据重复，不安全。

用队列另外一个好处是可以解耦，可以让两...]]></description><category></category></item><item><title><![CDATA[python中深拷贝，浅拷贝]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/84934120</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/84934120</guid><author>djs123DJS</author><pubDate>Sat, 15 Dec 2018 18:30:15 +0800</pubDate><description><![CDATA[ 

 


#_author:'DJS'
#date:2018-12-09
#一个变量等于xx是指向，浅拷贝拷贝的是最顶层（拷贝的是引用而不是数据）的，深拷贝拷贝的是全部（相当于备份）
import copy
import sys
print(sys.path) #查看导入模块的先后路径
a = [1,2,3] #表示的a指向这个列表
b = [4,5,6,]
print(id(a))
prin...]]></description><category></category></item><item><title><![CDATA[python私有化，import，封装，继承，多态]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/84938399</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/84938399</guid><author>djs123DJS</author><pubDate>Sat, 15 Dec 2018 18:29:06 +0800</pubDate><description><![CDATA[ 

 

封装就是拿面向过程的全局变量和函数搞成面向对象中类的属性和方法。

继承：减少代码重复量。减少代码的冗余。

多态就是一个子类继承了父类。但是每一个子类中都可以改写父类的方法。比如A子类改写了父类的C方法，B子类也改写了父类的C方法。那么再把改了父类C方法的子类传到H类中，在H类中调用这两个子类的C方法得到的结果就会不一样。但是调用父类其他方法还是得到的结果还是一样的。多态概括起来就是...]]></description><category></category></item><item><title><![CDATA[python多进程，多线程，协程]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/84451616</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/84451616</guid><author>djs123DJS</author><pubDate>Sat, 15 Dec 2018 18:26:54 +0800</pubDate><description><![CDATA[ 

线程依赖于进程，协程依赖于线程，效率最好的是协程，其次到线程，再到进程。总结：单线程会阻塞，协程不会阻塞。主要看会不会阻塞，其次看耗不耗资源。对比之下协程是最好的。

 

主线程结束，子线程才会结束。程序和进程通俗来讲就是一个运行一个不运行，不运行的叫程序，运行起来的叫进程。程序只有一个，但是进程可以有多个，即是一个程序可以对应多个进程。进程是一个拥有资源的地方。资源是一个资源分配的地方。...]]></description><category></category></item><item><title><![CDATA[python 闭包 ，装饰器]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/84972368</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/84972368</guid><author>djs123DJS</author><pubDate>Sat, 15 Dec 2018 18:24:16 +0800</pubDate><description><![CDATA[ 

 


#_author:'DJS'
#date:2018-12-12
import time
##闭包就是两个函数组成，里面的函数用到外面函数的变量值再加上里面函数的值，那一个坨空间，就是闭包。
##能当做实参进行传递，并且能传递功能和数据。
def line_6(k,b):
    x = 200
    def create_y(x):
        nonlocal x #修改闭包...]]></description><category></category></item><item><title><![CDATA[break与continue,return结束循环区别]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/84873948</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/84873948</guid><author>djs123DJS</author><pubDate>Fri, 07 Dec 2018 14:18:32 +0800</pubDate><description><![CDATA[ 

   break是跳出一层循环，continue是结束一趟循环 ,return才是结束所有层循环!

如果有多层for循环,break会跳出当前这一层,去执行最外层循环(而不是退出所有层循环);而continue则结束当前次循环(继续)而去执行下次循环,但本层循环没有结束.(注意一层循环和一次循环的区别:一层循环包含若干(i)次循环)
 ...]]></description><category></category></item><item><title><![CDATA[网络编程是什么]]></title><link>https://blog.youkuaiyun.com/djs123DJS/article/details/84867321</link><guid>https://blog.youkuaiyun.com/djs123DJS/article/details/84867321</guid><author>djs123DJS</author><pubDate>Thu, 06 Dec 2018 23:55:38 +0800</pubDate><description><![CDATA[ 

对于初学者，或者没有接触过网络编程的程序员，会觉得网络编程涉及的知识很高深，很难，其实这是一种误解，当你的语法熟悉以后，其实基本的网络编程现在已经被实现的异常简单了。

　　网络编程是什么?

　　网络编程的本质是两个设备之间的数据交换，当然，在计算机网络中，设备主要指计算机。数据传递本身没有多大的难度，不就是把一个设备中的数据发送给两外一个设备，然后接受另外一个设备反馈的数据。

　　现在...]]></description><category></category></item></channel></rss>