<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[一朋的博客]]></title><description><![CDATA[这是一个爱分享技术的程序猿]]></description><link>https://blog.youkuaiyun.com/z__Java__</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; z__Java__]]></copyright><item><title><![CDATA[selenium淘宝登录和滑块破解最新可用]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/110749144</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/110749144</guid><author>z__Java__</author><pubDate>Sun, 06 Dec 2020 19:10:51 +0800</pubDate><description><![CDATA[本文主要讲解使用selenium模拟登录淘宝爬取数据并解决滑块的一个案例，这里提供两个思路，一个是怎么登录淘宝，一个是怎么解决滑块。

1.登录淘宝：

使用selenium打开淘宝指定页面，会先跳转到淘宝的登陆页面，要求登录，第一次正常登录即可，随后使用browser.get_cookies()得到cookies值并保存下来，等到之后登录的时候先get一次网址，添加cookies，再get一次目标网址，就能够成功进去了。
	代码如下：
	
		此处注意，获取到的cookies的是列表嵌套字典的格式，而ad]]></description><category></category></item><item><title><![CDATA[django框架常用方法总结]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/110346750</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/110346750</guid><author>z__Java__</author><pubDate>Sun, 29 Nov 2020 18:39:20 +0800</pubDate><description><![CDATA[本文介绍django框架关于搭建登录页面，与数据库交互的几个常见的方法：


	login_required():

	介绍：login_required(视图函数)方法用于修饰视图函数，只有用户登陆成功之后才能访问被函数修饰的视图函数对应的页面，未登录的情况下跳转到指定页面（LOGIN_URL），需要在settings模块配置相关参数
		导入：from django.contrib.auth.decorators import login_required
		配置：
		
		
		使用：
		
		]]></description><category></category></item><item><title><![CDATA[django框架应用创建基本流程]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/109706344</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/109706344</guid><author>z__Java__</author><pubDate>Sun, 15 Nov 2020 17:26:54 +0800</pubDate><description><![CDATA[继上一篇内容，本篇讲解创建app的基本流程

创建app的基本流程：

1.在项目根目录下，使用terminal输入命令：manage.py startapp app的名称



此时，根目录下会出现app的文件夹，其中init为模块初始化操作



2.在settings模块下的app里添加应用名称



3.导入include模块，在根目录的urls模块下将网址指向应用名称下的urls模块



4.在应用目录下创建urls模块，配置相应的urls地址和views视图函数





5.在termina]]></description><category></category></item><item><title><![CDATA[django框架使用基本流程]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/109562972</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/109562972</guid><author>z__Java__</author><pubDate>Sun, 08 Nov 2020 21:54:46 +0800</pubDate><description><![CDATA[django框架：

Django是一个开放源代码的 Web 应用框架，由Python语言写成，采用了MVT的框架模式，即模型M、视图V和模板T。

模型M：

英文为models，即在models模块中编写需要的数据字段，通常与数据库交互，让数据库生成相应的数据表，对应CRUD操作

视图V：

英文为views，即在views模块中编写对应网址下的功能函数，功能函数通过某种方式显示到页面上

模板T：

英文为templates，即在templates包下的模块中编写相应的html页面，页面中镶嵌着功能]]></description><category></category></item><item><title><![CDATA[scrapy框架大致流程介绍]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/109431665</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/109431665</guid><author>z__Java__</author><pubDate>Sun, 01 Nov 2020 18:04:22 +0800</pubDate><description><![CDATA[scrapy框架介绍:

scrapy框架是以python作为基础语言，实现网页数据的抓取，提取信息，保存的一个应用框架，可应用于数据提取、数据挖掘、信息处理和存储数据等一系列的程序中。

基本流程：

新建项目
	明确目标
	制作爬虫模块并开始爬取
	提取目标数据
	存储内容
流程架构图(注：下列绿线表示数据流向)：



对于上述 scrapy 框架图解的基本工作流程，可以简单的理解为：

Spiders(爬虫)将需要发送请求的url(Requests)经ScrapyEngine(引擎)提交给 Sche]]></description><category></category></item><item><title><![CDATA[TCP服务器与客户端通讯基本流程]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/109273395</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/109273395</guid><author>z__Java__</author><pubDate>Sun, 25 Oct 2020 14:43:31 +0800</pubDate><description><![CDATA[在讲解TCP服务器与客户端之间通讯的基本流程之间，我们先来了解一下什么是TCP协议和UPD协议吧！

TCP协议：

TCP协议是在通信的两台设备之间建立连接通道，对传输的数据大小没有限制，但是因为建立了连接，相对可靠一些，但是速度会慢一些。TCP协议又称为三次握手--四次挥手协议，因为建立过程有三步(发送请求、获取 反馈、建立连接)。通常情况下，我们的蓝牙通信、打电话都是使用的 TCP 协议。

UPD协议：

UDP协议需要将数据打包，因为包有大小，所以对数据大小是有限制的，UDP是不用建立连接的，但不]]></description><category></category></item><item><title><![CDATA[cookie与session]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/109152465</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/109152465</guid><author>z__Java__</author><pubDate>Sun, 18 Oct 2020 23:45:22 +0800</pubDate><description><![CDATA[新手在爬虫中，使用requests模块或者其他模块访问目标页面，或者目标网页需要登录后才能获取网页源码的情况下，发现怎么样都获取不到网页源码，相信这种情况很让人头疼吧！

原因是我们每次访问页面的时候，浏览器都会产生关于我们相关的信息，分别为session与cookies，如果浏览器发现我们没有这些信息，就不会让我们获取到目标页面的源码，下面介绍一下session与cookies：

session：通过在服务器端记录的信息，作用是用来确定用户的身份

cookies：通过在客户端记录的信息，作用也是用来确]]></description><category></category></item><item><title><![CDATA[http请求方法总结]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/108949098</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/108949098</guid><author>z__Java__</author><pubDate>Wed, 07 Oct 2020 11:55:15 +0800</pubDate><description><![CDATA[http请求方式总结：


	get请求：默认的请求方式，返回页面具体内容，参数会显示在地址栏中
	
	
	head请求：类似于get'请求，但没有返回页面具体内容，用于获取报头
	
	
	post请求：向指定资源提交数据进行数据请求，如提交表单或上传文件，数据包含在请求体中
	
	
	put请求：从客户端向服务器传送的数据取代指定的文档的内容
	
	
	delete请求：请求服务器删除指定的页面
	
	
	connect请求：http/1.1协议中预留给能够将连接改为管道方式的代理服务器
	
	
	opt]]></description><category></category></item><item><title><![CDATA[爬虫中requests模块和urllib模块的异同点]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/108948555</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/108948555</guid><author>z__Java__</author><pubDate>Wed, 07 Oct 2020 11:24:25 +0800</pubDate><description><![CDATA[相同点：

requests模块和urllib模块都能实现对网页的请求，并获取网页数据

异同点：

requests模块:

使用的是对应请求方式的属性/方法，可对性高，方便理解。
	对网页编码的方式有多种
	能设置请求头的参数
	能解析带有中文的网址


注：其中content拿到的数据为二进制，需要转化为utf-8才能正常显示，若使用text，则原网页编码格式是什么，拿到的编码格式就是什么

urllib模块：

对网页申请访问的方法为urlopen()，且需要进行编码处理才能显示正常网页数据
	请求]]></description><category></category></item><item><title><![CDATA[计算机语言中经典算法之冒泡排序]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/108694107</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/108694107</guid><author>z__Java__</author><pubDate>Sun, 20 Sep 2020 16:15:10 +0800</pubDate><description><![CDATA[冒泡排序：

冒泡排序：是计算机科学领域里面的一种算法。

这个算法名字的由来是因为在执行算法的时候越小的元素会经由交换慢慢“浮”到数列的顶端（升序或降序排列），就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样，所以叫做“冒泡排序”。

算法原理：

每每比较相邻的元素。如果第一个元素比第二个元素大，就交换他们的位置。
	针对所有的元素重复以上的步骤，除了上一轮中确定的最后一个且是最大的元素。
	持续每次对越来越少的元素重复上面的步骤，直到没有任何一对数字需要比较。
对于原理中的第二点补充说明一下为什么要]]></description><category></category></item><item><title><![CDATA[浮动引起的问题]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/108551069</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/108551069</guid><author>z__Java__</author><pubDate>Sat, 12 Sep 2020 16:24:14 +0800</pubDate><description><![CDATA[float浮动引起的问题：


	父元素的高度坍塌，即变为0；
	如果父元素里所有的元素都浮动，浮动之后从父元素里面“跑”了出去，相当于父元素里面没有了元素，高度没有元素“撑起来”，所以就会造成父元素的高度变为0的情况。
	
	影响内联元素的位置；
	假设父元素里有浮动元素和内联元素，假设浮动元素在内联元素的右边且元素往左浮动，内联元素会被“挤”到浮动元素的右边，同理，如果浮动元素在内联元素前面且浮动元素往右浮动，也会将内联元素“挤”到左边，影响内联元素的位置。这种情况就要控制浮动元素浮动的位置或者控制内联]]></description><category></category></item><item><title><![CDATA[htm中几种元素的介绍]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/108435150</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/108435150</guid><author>z__Java__</author><pubDate>Sun, 06 Sep 2020 19:35:11 +0800</pubDate><description><![CDATA[本文讲的是关于htm中几种元素的介绍，那么我们先来了解以下什么是html吧！

html的英文全称是 Hyper Text Markup Language，也被称为超文本标记语言。它是一种标识性的语言，包括一系列标签．通过这些标签可以将网络上的文档格式统一，使分散的Internet资源连接为一个逻辑整体。它能独立于各种操作系统平台(如UNIX， Windows等)。使用HTML语言，将所需要表达的信息按某种规则写成HTML文件，通过专用的浏览器来识别，并将这些HTML文件“翻译”成可以识别的信息，即现在所见]]></description><category></category></item><item><title><![CDATA[python中args和kwargs参数的使用]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/108308881</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/108308881</guid><author>z__Java__</author><pubDate>Sun, 30 Aug 2020 17:56:59 +0800</pubDate><description><![CDATA[可变参数：

在python中，规定了函数中的形参前带*的，称为可变位置参数，通常用*args表示。
	
	*args表示一个元组，传入的参数值会被放到这个元组里面，类型可以是任意的。
	
可变关键字参数：

同理，函数中形参前带**的，成为可变关键字参数，通常用**kwargs表示。
	**表示一个字典，传入的参数以键值对的形式存放在了字典里面。
下面我们来看个例子：



我们可以看到，*args传入的参数类型可以有多种，且输出来的类型是元组。

而**kwargs传入的参数形式必须写成“变量名=内容”]]></description><category></category></item><item><title><![CDATA[浅析内存泄漏与内存溢出的区别和联系]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/108183150</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/108183150</guid><author>z__Java__</author><pubDate>Sun, 23 Aug 2020 15:10:12 +0800</pubDate><description><![CDATA[浅显来说
一、内存泄漏

内存泄漏指的是程序在申请内存运行，结束的时候无法释放已申请的内存空间，进而导致程序运行速度变慢甚至系统奔溃等的后果。
造成内存泄漏的原因可能来自于程序中内存的相互引用，导致申请的内存空间没有来得及释放。
一两次内存泄漏对程序来说不会造成很大的影响，但是内存泄漏堆积的后果就造成了内存溢出。

二、内存溢出

内存溢出指的是程序要运行的时候申请了一块内存空间，而系统中并没有足够的内存空间给予使用，从而会报错。
内存溢出的原因可能来自于内存中加载的数据量过于庞大，如一次读取过多的数据或者]]></description><category></category></item><item><title><![CDATA[python中finally的用法]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/108037444</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/108037444</guid><author>z__Java__</author><pubDate>Sun, 16 Aug 2020 16:12:30 +0800</pubDate><description><![CDATA[在python中，处理异常模块是十分常见的。简单举个例子:


我们可以看到，在try语句中发生了异常，而finally中依然会执行里面的代码。
实际上，在执行finally语句之前，不管是try还是except语句中是否有发生异常，finally中的代码依旧会执行。
那要是遇到了return，break和exit()等语句 也依旧会执行fianlly里面的代码吗？
让我们再看下面一个例子:

是不是觉得很奇怪?为什么输出的是2不是1。
以下内容来自Python官方文档Defining Clean-up A]]></description><category></category></item><item><title><![CDATA[python中方法的执行顺序解析（mro）]]></title><link>https://blog.youkuaiyun.com/z__Java__/article/details/107882075</link><guid>https://blog.youkuaiyun.com/z__Java__/article/details/107882075</guid><author>z__Java__</author><pubDate>Sat, 08 Aug 2020 17:04:30 +0800</pubDate><description><![CDATA[python中方法的执行顺序解析（mro）
当子类继承父类，同时子类和父类中存在相同方法，调用子类中方法的时候，调用的是子类还是父类的方法呢？以下举个例子：


]]></description><category></category></item></channel></rss>