<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小王@Note的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zdfsb</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zdfsb]]></copyright><item><title><![CDATA[python爬虫准备]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/108529666</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/108529666</guid><author>zdfsb</author><pubDate>Fri, 11 Sep 2020 10:45:21 +0800</pubDate><description><![CDATA[一、什么是爬虫：
爬虫是一个模拟人类请求网站行为的程序。可以自动请求网页、并把数据抓取下来，然后使用一定的规则提取有价值的数据。
二、准备工具：


安装Python：
下载地址：https://www.python.org/
或者使用Anaconda：https://www.anaconda.com/
哪个软件无所谓，只要是Python3.6以上的版本就可以了。


安装Pycharm：
Pycharm Commnity（社区版）：对于不需要做web开发，不需要使用Professional（专业版），使用]]></description><category></category></item><item><title><![CDATA[python爬虫之Scrapy框架]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/108528749</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/108528749</guid><author>zdfsb</author><pubDate>Fri, 11 Sep 2020 10:12:50 +0800</pubDate><description><![CDATA[Scrapy框架：
写一个爬虫，需要做很多的事情。比如：发送网络请求、数据解析、数据存储、反反爬虫机制（更换ip代理、设置请求头等）、异步请求等。这些工作如果每次都要自己从零开始写的话，比较浪费时间。因此Scrapy把一些基础的东西封装好了，在他上面写爬虫可以变的更加的高效（爬取效率和开发效率）。因此真正在公司里，一些上了量的爬虫，都是使用Scrapy框架来解决。
安装Scrapy框架：

pip install scrapy。
可能会出现问题：

在ubuntu下要先使用以下命令安装依赖包：sudo ap]]></description><category></category></item><item><title><![CDATA[python爬虫进阶（二）：动态网页爬虫]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/108528737</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/108528737</guid><author>zdfsb</author><pubDate>Fri, 11 Sep 2020 10:12:11 +0800</pubDate><description><![CDATA[动态网页爬虫
什么是动态网页爬虫和AJAX技术：

动态网页，是网站在不重新加载的情况下，通过ajax技术动态更新网站中的局部数据。比如拉勾网的职位页面，在换页的过程中，url是没有发生改变的，但是职位数据动态的更改了。
AJAX（Asynchronouse JavaScript And XML）异步JavaScript和XML。前端与服务器进行少量数据交换，Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下，对网页的某部分进行更新。传统的网页（不使用Ajax）如果需要更新内容，必须]]></description><category></category></item><item><title><![CDATA[python爬虫进阶（一）：多线程]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/108528725</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/108528725</guid><author>zdfsb</author><pubDate>Fri, 11 Sep 2020 10:11:36 +0800</pubDate><description><![CDATA[多线程：
什么是多线程：

理解：默认情况下，一个程序只有一个进程和一个线程，代码是依次线性执行的。而多线程则可以并发执行，一次性多个人做多件事，自然比单线程更快。
官方：https://baike.baidu.com/item/多线程/1190404?fr=aladdin

如何创建一个基本的多线程：
使用threading模块下的Thread类即可创建一个线程。这个类有一个target参数，需要指定一个函数，那么以后这个线程执行的时候，就会执行这个函数的代码。示例代码如下：
import time
im]]></description><category></category></item><item><title><![CDATA[python爬虫之数据存储（四）：MySQL数据库]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/108528708</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/108528708</guid><author>zdfsb</author><pubDate>Fri, 11 Sep 2020 10:10:47 +0800</pubDate><description><![CDATA[MySQL数据库操作
MySQL数据库安装：

下载地址：https://dev.mysql.com/downloads/windows/installer/5.7.0.html
如果提示没有.NET Framework框架。那么就在提示框中找到下载链接，下载一个就可以了。
如果提示没有Microsoft Virtual C++ x64(x86)，那么百度或者谷歌这个软件安装即可。

Python连接MySQL数据库：

pip install pymysql
连接代码：db = pymysql.conne]]></description><category></category></item><item><title><![CDATA[python爬虫之数据存储（三）：JSON字符串处理]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/108528698</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/108528698</guid><author>zdfsb</author><pubDate>Fri, 11 Sep 2020 10:10:13 +0800</pubDate><description><![CDATA[JSON字符串处理：
什么是JSON字符串：
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集，采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写，同时也易于机器解析和生成，并有效地提升网络传输效率。更多解释请见：https://baike.baidu.com/item/JSON/2462549?fr=a]]></description><category></category></item><item><title><![CDATA[python爬虫之数据存储（二）：Excel文件处理]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/108528653</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/108528653</guid><author>zdfsb</author><pubDate>Fri, 11 Sep 2020 10:09:15 +0800</pubDate><description><![CDATA[Excel文件处理：
Sheet相关的操作：
workbook = xlrd.open_workbook("成绩表.xlsx")

# 获取所有的sheet名字
# print(workbook.sheet_names())

# 根据索引获取指定的sheet对象
# sheet = workbook.sheet_by_index(1)
# print(sheet.name)

# 根据名称获取指定的sheet对象
# sheet = workbook.sheet_by_name("2班")
# print]]></description><category></category></item><item><title><![CDATA[pyhton爬虫之数据存储（一）：CSV文件处理]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/108528466</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/108528466</guid><author>zdfsb</author><pubDate>Fri, 11 Sep 2020 10:02:31 +0800</pubDate><description><![CDATA[CSV文件处理：
CSV文件读取的两种方式：
import csv

# 这种方式读取到的每一条数据是一个列表，所以需要通过下标的方式获取具体某一个值
# with open("stock.csv",'r',encoding='gbk') as fp:
#     reader = csv.reader(fp)
#     for x in reader:
#         print(x[3])

# 这种方式读取到的每一条数据是一个字典，所以可以通过列名获取数据
with open("stock.cs]]></description><category></category></item><item><title><![CDATA[python爬虫之数据解析（三）：正则表达式]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/108528450</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/108528450</guid><author>zdfsb</author><pubDate>Fri, 11 Sep 2020 10:01:15 +0800</pubDate><description><![CDATA[正则表达式：
单字符匹配：
# 匹配某个字符串：
# text = "abc"
# ret = re.match('b',text)
# print(ret.group())


# 点（.）：匹配任意的字符(除了'\n')：
# text = "\nabc"
# ret = re.match('.',text)
# print(ret.group())


# \d：匹配任意的数字：
# text = "aab"
# ret = re.match('\d',text)
# print(ret.group(]]></description><category></category></item><item><title><![CDATA[python爬虫之数据解析（二）：XPath语法和lxml模块]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/108528429</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/108528429</guid><author>zdfsb</author><pubDate>Fri, 11 Sep 2020 10:00:32 +0800</pubDate><description><![CDATA[XPath语法和lxml模块
什么是XPath？
xpath（XML Path Language）是一门在XML和HTML文档中查找信息的语言，可用来在XML和HTML文档中对元素和属性进行遍历。
XPath开发工具
Chrome插件XPath Helper。
安装方法：

打开插件伴侣，选择插件
选择提取插件内容到桌面，桌面上会多一个文件夹
把文件夹放入想要放的路径下
打开谷歌浏览器，选择扩展程序，开发者模式打开，选择加载已解压的扩展程序，选择路径打开即可

Firefox插件Try XPath。
XPa]]></description><category></category></item><item><title><![CDATA[python爬虫之数据解析（一）：BeautifulSoup4库]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/108528405</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/108528405</guid><author>zdfsb</author><pubDate>Fri, 11 Sep 2020 10:00:02 +0800</pubDate><description><![CDATA[BeautifulSoup4库
和 lxml 一样，Beautiful Soup 也是一个HTML/XML的解析器，主要的功能也是如何解析和提取 HTML/XML 数据。
安装和文档：
安装：
pip install bs4
中文文档：https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
几大解析工具对比：
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qiAU6oRI-159978955168]]></description><category></category></item><item><title><![CDATA[python爬虫之网络请求]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/108528389</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/108528389</guid><author>zdfsb</author><pubDate>Fri, 11 Sep 2020 09:58:52 +0800</pubDate><description><![CDATA[网络请求
1.urllib库   —内置
urlopen函数：
创建一个表示远程url的类文件对象，然后像本地文件一样操作这个类文件对象来获取远程数据。
url：请求的url。
data：请求的data，如果设置了这个值，那么将变成post请求。
返回值：返回值是一个http.client.HTTPResponse对象，这个对象是一个类文件句柄对象。有read(size)、readline、readlines以及getcode等方法。
urlretrieve函数：
这个函数可以方便的将网页上的一个文件保存到]]></description><category></category></item><item><title><![CDATA[微信小程序轻松入门（三）]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/107863454</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/107863454</guid><author>zdfsb</author><pubDate>Fri, 07 Aug 2020 15:34:47 +0800</pubDate><description><![CDATA[那么，承接上一篇的内容，我们继续来学习微信小程序。需要一提的是，在微信小程序的开发和学习过程，不断地查阅文档是非常重要的，小程序的官方文档写的非常详细，所以我在很多地方没有过多介绍，而是附上了文档链接，希望读者能养成自行查阅文档的习惯。话不多说，今天的学习之旅就要开始了，各位看官准备好了吗？
六、自定义组件
​	微信提供了自定义组件的功能
​	参考https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/
1. 定]]></description><category></category></item><item><title><![CDATA[微信小程序轻松入门（二）]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/107774100</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/107774100</guid><author>zdfsb</author><pubDate>Mon, 03 Aug 2020 21:41:18 +0800</pubDate><description><![CDATA[​		那么，承接上一篇的内容，我们继续来学习微信小程序。需要一提的是，在微信小程序的开发和学习过程，不断地查阅文档是非常重要的，小程序的官方文档写的非常详细，所以我在很多地方没有过多介绍，而是附上了文档链接，希望读者能养成自行查阅文档的习惯。话不多说，今天的学习之旅就要开始了，各位看官准备好了吗？

四、组件
​	内置组件就是微信定义的具有特殊功能的标签，在wxml中只能使用微信提供的组件标签
1. 常用组件


&lt;view&gt;用于页面布局的块级组件，类似于html中的div


&lt;text]]></description><category></category></item><item><title><![CDATA[微信小程序轻松入门教程（一）]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/107735347</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/107735347</guid><author>zdfsb</author><pubDate>Sat, 01 Aug 2020 19:19:45 +0800</pubDate><description><![CDATA[​		之前发表了JavaScript小白入门笔记、HTML小白入门笔记、CSS小白入门笔记，其实都是为了这一个激动人心的时刻打下基础，从这篇开始我将正式入坑微信小程序开发，详细整理从入门到进阶的一系列教程，同时教程中也会附上实战项目的源码下载链接。
​		当然如果你还没有学过HTML、JavaScript、CSS，建议你先关注我的博客阅读或搜索我的ID号关注（ID：zdfsb  当然不要把关注重点放在我的ID号上，虽然我也很想改掉它????????），这能帮助你更快、更容易地掌握微信小程序的开发。那么话不多]]></description><category></category></item><item><title><![CDATA[JavaScript小白入门笔记（三）]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/107723707</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/107723707</guid><author>zdfsb</author><pubDate>Fri, 31 Jul 2020 23:43:55 +0800</pubDate><description><![CDATA[七、事件处理
1. 简介
​	事件：发生在HTML元素上的事情，可以是用户的行为，也可以是浏览器的行为，如

用户点击了某个HTML元素
用户将鼠标移动到某个HTML元素上
用户输入数据时光标离开
页面加载完成

​    事件源：事件触发的源头，即触发事件的元素，如按钮、输入框、超链接等
​    事件对象：当一个事件发生时，这个事件相关的详细信息会被保存到一个对象中，称为event对象
​    事件监听：监听事件的发生，绑定事件函数，当事件被触发后执行该事件函数，即回调函数
2. 绑定事件
​	两种方]]></description><category></category></item><item><title><![CDATA[JavaScript小白入门笔记（二）]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/107723659</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/107723659</guid><author>zdfsb</author><pubDate>Fri, 31 Jul 2020 23:36:22 +0800</pubDate><description><![CDATA[五、复合类型
1. String
1.1 定义方式
​	语法：
var str = 'welcome';   // 基本数据类型string
var str = new String('welcome');	// 引用数据类型String

​	使用length属性获取字符串的长度
1.2 常用方法




方法
描述




charAt(index)
返回在指定索引位置的字符，也可使用 [索引] 的方式


indexOf(字符串,index)
返回某个指定的字符串值在字符串中首次出现的位置


las]]></description><category></category></item><item><title><![CDATA[JavaScript小白入门笔记(一)]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/107723602</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/107723602</guid><author>zdfsb</author><pubDate>Fri, 31 Jul 2020 23:32:06 +0800</pubDate><description><![CDATA[一、JavaScript简介
1. 什么是JavaScript
​	JavaScript简称为JS，由网景公司开发的客户端脚本语言，不需要编译，可以直接运行
​	Web前端三层：

结构层 HTML 定义页面的结构
样式层 CSS	定义页面的样式
行为层 JavaScript 用来实现交互，提升用户体验

2. JavaScript的作用

在客户端动态的操作页面
在客户端做数据的校验
在客户端发送异步请求

二、引用方式
1. 内联方式
​	在页面中使用script标签，在script标签的标签体中编写j]]></description><category></category></item><item><title><![CDATA[CSS小白入门笔记]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/107649363</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/107649363</guid><author>zdfsb</author><pubDate>Tue, 28 Jul 2020 23:52:38 +0800</pubDate><description><![CDATA[一、CSS简介
1. 什么是CSS
​	CSS：Cascading Style Sheet 层叠样式表
​	是一组样式设置规则，用于控制页面的外观样式
2. CSS作用

页面外观美化
布局和定位

二、基本用法
1.CSS语法
&lt;head&gt;
	&lt;style type="text/css"&gt;
		选择器{
			属性名:属性值; 
            属性名:属性值;
			}
	&lt;/style&gt;
&lt;/head&gt;


选择器：要修饰的对象（东西）
属性名：]]></description><category></category></item><item><title><![CDATA[初识Git]]></title><link>https://blog.youkuaiyun.com/zdfsb/article/details/107617364</link><guid>https://blog.youkuaiyun.com/zdfsb/article/details/107617364</guid><author>zdfsb</author><pubDate>Mon, 27 Jul 2020 17:55:11 +0800</pubDate><description><![CDATA[一、版本控制系统
1. 简介
​	Version  Control  System，简称为VCS，版本控制系统是一种记录一个或多个文件的内容变化，以便将来查阅特定版本的内容变化情况的系统。
​	简单来说，就是用来保存文件内容变更记录的系统，可以将文件回退到过去某个时间点的状态。
2. 作用

查阅文件的修改记录，如：修改者、修改时间、修改的文件内容等
对比不同版本中文件的变化细节
将文件回溯到之前的某个状态

3. 种类
​	版本控制系统的种类：


本地版本控制系统
版本库存放在本地磁盘上
缺点：无法协同]]></description><category></category></item></channel></rss>