学习笔记
文章平均质量分 64
htsait4113
这个作者很懒,什么都没留下…
展开
-
WTForms模块
下载安装pip install WTForms主要概念Forms:Forms类是WTForms的核心容器。表单(Forms)表示域(Fields)的集合,域能通过表单的字典形式或者属性形式访问。Fields:Fields(域)做最繁重的工作。每个域(Field)代表一个数据类型,并且域操作强制表单输入为响应的数据类型。例如,InputRequired和StringField表示两种不同的数据类型。域除了包含的数据之外,还包含大量有用的属性,例如标签、描述、验证错误的列表。Validators:V原创 2020-06-23 08:53:01 · 650 阅读 · 0 评论 -
PyMySQL模块使用
安装PyMySQLpip install PyMySQL连接MySQL首先需要导入PyMySQL模块,然后使用PyMySQL的connect()方法来连接数据库。import pymysql# 打开数据库连接,参数1:主机名或IP;参数2:用户名;参数3:密码;参数4:数据库名称db = pymysql.connect("localhost", "root", "root", "studyPython")# 关闭数据库连接db.close()# 上述代码中,重点关注connect()函原创 2020-06-22 08:17:32 · 225 阅读 · 0 评论 -
Markdown常用语法及Typora应用【1】
Markdown常用语法及Typora应用1. Markdown常用语法1.1 Markdown用途1.2 标题1.3 常用文本样式1. Markdown常用语法Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。1.1 Markdown用途Markdown的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。世界上最流行的博客平台WordPress和大型CMS如Joomla、Drupal都能很好的支持Markdown原创 2020-06-21 23:49:57 · 241 阅读 · 0 评论 -
Java语言的数据类型与运算符
1.1 数制1.1.1 基本概念1.1.2 Java语言中的数制表现形式二进制(如1100110011)八进制(如014)十六进制(如0xB)十进制(如89)1.2 数据类型Java语言是一个强调数据类型的语言,在声明任何变量时,必须将该变量定义为一种数据类型。Java中的数据类型包括基本数据类型和对象类型(也称为引用数据类型)。1.2.1 整型整型是整数类型,没有小数点的数字,可以为整数也可以为负数。整型类型主要有四种:字节型(byte)、整数型(int)、短整型(short)原创 2020-06-04 14:00:42 · 286 阅读 · 0 评论 -
【Python3 爬虫学习笔记】解析库的使用 10 —— 使用pyquery 3
节点操作pyquery提供了一系列方法来对节点进行动态修改,比如为某个节点添加一个class,移除某个节点等,这些操作有时候会为提取信息带来极大地便利。addClass和removeClasshtml = '''<div class="wrap"><div id="container"><ul class="list"><li class转载 2018-10-15 22:18:36 · 214 阅读 · 0 评论 -
【Python3 爬虫学习笔记】pyspider框架的使用 4
pyspider用法详解命令行前面实例通过如下命令启动pyspider:pyspider all命令行还有很多可配置参数,完整的命令行结构如下所示:pyspider [OPTIONS] COMMAND [ARGS]其中,OPTIONS为可选参数,它可以指定如下参数。Options: -c, --config FILENAME 指定配置文件名称 --logging-...转载 2018-10-25 12:57:54 · 520 阅读 · 0 评论 -
【Python3 爬虫学习笔记】pyspider框架的使用 5
crawl()方法在前面的例子中,我们使用crawl()方法实现了新请求的生成,但是只指定了URL和Callback。下面是crawl()方法的参数配置。urlurl是爬取时的URL,可以定义为单个URL字符串,也可以定义成URL列表。callbackcallback是回调函数,指定了该URL对应的响应内容用哪个方法来解析,如下所示:def on_start(self): self....转载 2018-10-25 19:41:51 · 331 阅读 · 0 评论 -
【Python3 爬虫学习笔记】动态渲染页面爬取 4 —— 使用Selenium爬取淘宝商品
并不是所有页面都可以通过分析Ajax来完成抓取。比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可能会包含加密秘钥等,所以如果想自己构造Ajax参数,还是比较困难的。对于这种页面,最方便快捷的抓取方法就是通过Selenium。我们利用Selenium来模拟浏览器操作,抓取淘宝的商品信息,并将结果保存到MongoDB。我们实现如下抓取列表页的方法:fro...转载 2018-10-21 15:06:56 · 542 阅读 · 0 评论 -
【Linux学习笔记】计算机硬件的五大单元
计算机硬件大致可分为三部分:输入单元:包括键盘、鼠标、卡片阅读机、扫描仪、手写板、触控屏幕等;主机部分:一般都是固定在一个容器内,内部含有一堆板子、CPU、存储器等;输出单元:例如屏幕、打印机等我们主要通过输入设备如鼠标与键盘来将一些数据输入到主机里面,然后再由主机的功能处理成为图表或文章等信息后,将结果输入到输出设备,如屏幕或打印机上面。主机里面最重要的就是一片主板,上面安插了中央处...转载 2018-10-25 21:53:56 · 207 阅读 · 0 评论 -
【Python3 爬虫学习笔记】变量与数据类型 1
任何程序都会用到变量。变量通常用来存放临时数据,例如在一个计算成绩的程序中,会声明多个变量来存放语文、数学、英语等科目的成绩。应用程序可能要处理五花八门的数据类型,所以有必要将数据加以分类,给不同的数据类型分配不同大小的内存,这样才能使变量达到最佳的运行效率。变量变量,顾名思义是一个随时可能会改变内容的容器的名称,就像家中的收藏箱可以放入各种不同的东西。在程序中使用变量时,当开发人员使用一个...原创 2018-10-25 23:24:43 · 401 阅读 · 0 评论 -
【Python3 爬虫学习笔记】变量与数据类型 2
数据类型的转换变量的数据类型非常重要,通常情况下只有相同类型的变量才能进行运算。Python提供了简单的数据类型自动转换功能:如果是整数与符号运算,系统会先将整数转换为浮点数再运算,运算结果为浮点型,例如:num1 = 5 + 7.8 # 结果为12.8,浮点型若是数值与布尔值运算,系统先将布尔值转换为数值再运算,即把True转换为1,False转换为0。例如:num2 = 5 + Tr...原创 2018-10-26 09:42:04 · 203 阅读 · 0 评论 -
【Python3 爬虫学习笔记】pyspider框架的使用 3
启动爬虫返回爬虫的主页面,将爬虫的status设置成DEBUG或RUNNING,点击右侧的Run按钮即可开始爬取。在最左侧我们可以定义项目的分组,以方便管理。rate/burst代表当前的爬取速率,rate代表1秒发出多少个请求,burst相当于流量控制中的令牌桶算法的令牌数,rate和burst设置的越大,爬取速率越快,当然速率需要考虑本机性能和爬取过快被封的问题。process中的5m、...转载 2018-10-25 10:17:52 · 437 阅读 · 0 评论 -
【Python3 爬虫学习笔记】动态渲染页面爬取 3 —— Selenium的使用 3
切换Frame网页中有一种节点叫作iframe,也就是子Frame,相当于页面的子页面,它的结构和外部页面的结构完全一致。Selenium打开页面后,它默认是在父级Frame里面操作,而此时如果页面中海油子Frame,它是不能获取到子Frame里面的额节点的。这时就需要使用switch_to.frame()方法来切换Frame。示例如下:import timefrom selenium im...转载 2018-10-20 23:42:41 · 405 阅读 · 0 评论 -
【Python3 爬虫学习笔记】动态渲染页面爬取 2 —— Selenium的使用 2
动作链在交互操作中,一些交互动作都是针对某个节点执行的。比如,对于输入框,我们就调用它的输入文字和清空文字方法;对于按钮,就调用它的点击方法。其实,还有另外一些操作,它们没有特定的执行对象,比如鼠标拖曳、键盘按键等,这些动作用另一种方式来执行,那就是动作链。比如,现在实现一个节点的拖曳操作,将某个节点从一处拖曳到另外一处,可以这样实现:from selenium import webdriv...转载 2018-10-20 16:55:11 · 212 阅读 · 0 评论 -
【Python3 爬虫学习笔记】动态渲染页面爬取 1 —— Selenium的使用 1
JavaScript动态渲染的页面不知Ajax一种。比如中国青年网(详见http://news.youth.cn/gn/),它的分页部分是由JavaScript生成的,并非原始HTML代码,这其中并不包含Ajax请求。比如ECharts的官方实例(详见http://echarts.baidu.com/demo.html#bar-negative),其图形都是经过JavaScript计算之后生成的。...转载 2018-10-20 09:47:56 · 661 阅读 · 0 评论 -
【Python3 爬虫学习笔记】解析库的使用 3 —— Beautiful Soup 1
Beautiful Soup可以借助网页的结构和属性等特性来解析网页。有了Beautiful Soup,我们不用再去写一些复杂的正则表达式,只需要简单的几条语句,就可以完成网页中某个元素的提取。Beautiful Soup是Python的一个HTML或XML的解析库,可以用它来方便地从网页中提取数据。官方解释如下:Beautiful Soup提供一些简单的、Python式的函数来处理导航、搜索...转载 2018-10-10 22:47:13 · 212 阅读 · 0 评论 -
【Python3 爬虫学习笔记】Ajax数据爬取 1
有时候我们在用requests抓取页面的时候,得到的结果可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,但是使用requests得到的结果并没有。这是因为requests获取的都是原始的HTML文档,而浏览器中的页面则是经过JavaScript处理数据后生成的结果,这些数据的来源有多种,可能是通过Ajax加载的,可能是包含在HTML文档中的,也可能是经过JavaScript和特...转载 2018-10-19 23:56:50 · 287 阅读 · 0 评论 -
【Python3 爬虫学习笔记】数据存储 7 -- Redis存储
Redis是一个基于内存的高效地键值型非关系型数据库,存取效率极高,而且支持多种存储数据结构,使用也非常简单。Redis和StrictRedisredis-py库提供两个类Redis和StrictRedis来实现Redis的命令操作。StrictRedis实现了绝大部分官方的命令,参数也一一对应,比如set()方法就对应Redis命令的set方法。而Redis是StrictRedis的子类,...转载 2018-10-19 16:35:55 · 854 阅读 · 0 评论 -
【Python3 爬虫学习笔记】数据存储 6 -- MongoDB存储 2
更新对于数据更新,我们可以使用update()方法,指定更新的条件和更新后的数据即可。例如:condition = {'name': 'Kevin'}student = collection.find_one(condition)student['age'] = 25result = collection.update(condition, student)print(result)...转载 2018-10-19 15:06:20 · 276 阅读 · 0 评论 -
【Python3 爬虫学习笔记】数据存储 5 -- MongoDB存储 1
NoSQL,全称Not Only SQL,意为不仅仅是SQL,泛指非关系型数据库。NoSQL是基于键值对的,而且不需要经过SQL层的解析,数据之间没有耦合性,性能非常高。非关系型数据库又细分如下:键值存储数据库:代表有Redis、Voldemort和Oracle BDB等。列存储数据库:代表有Cassandra、HBase和Riak等。文档型数据库:代表有CouchDB和MongoDB等...转载 2018-10-19 13:24:30 · 320 阅读 · 0 评论 -
用Python获取好看听书网中的《星期五有鬼》有声小说
本人Python新手一个,最近迷上了喜马拉雅FM里牛大宝的有声小说,听说小说《星期五有鬼》比较好听,就在喜马拉雅FM里搜了下,结果发现大宝的《星期五有鬼》下架了,又不想在线听,就想下载下来听,结果发现好多网站只能在线听。无奈经过多方搜索,在好看听书网找到了一个可以下载的链接,遂想到了用Python编写一个小程序,代替人工下载,(本人刚刚学到一些Python皮毛,很多东西还不会用,粗浅之处请见谅)...原创 2018-10-16 13:04:21 · 3852 阅读 · 3 评论 -
【Python3 爬虫学习笔记】pyspider框架的使用 6
任务区分在pyspider判断两个任务是否是重复的是使用该任务对应的URL的MD5值作为任务的唯一ID,如果ID相同,那么两个任务就会判定为相同,其中一个就不会爬取了。很多情况下请求的链接可能是同一个,但是POST的参数不同。这时可以重写task_id()方法,改变这个ID的计算方式来实现不同的区分,如下所示:import jsonfrom pyspider.libs.utils impor...转载 2018-10-26 19:29:11 · 551 阅读 · 0 评论 -
【Python3 爬虫学习笔记】Scrapy框架的使用 1
Scrapy功能非常强大,爬取效率高,相关扩展组件多,可配置和可扩展程度非常高,它几乎可以应对所有发爬网站,是目前Python中使用最广泛的爬虫框架。Scrapy框架介绍Scrapy是一个基于Twisted的异步处理框架,是纯Python实现的爬虫框架,其架构清晰,模块之间的耦合程度低,可扩展性极强,可以灵活完成各种需求。我们只需要定制开发几个模块就可以轻松实现一个爬虫。架构介绍它可以分...转载 2018-10-26 20:13:24 · 501 阅读 · 0 评论 -
【Python3 爬虫学习笔记】Scrapy框架的使用 3
Selector的用法利用Beautiful Soup、pyquery以及正则表达式来提取网页数据,这确实非常方便,而Scrapy还提供了自己的数据提取方法,即Selector(选择器)。Selector是基于lxml来构建的,支持XPath选择器、CSS选择器以及正则表达式,功能全面,解析速度和准确度非常高。直接使用Selector是一个可以独立使用的模块。我们可以直接利用Seletor这...转载 2018-10-31 17:10:44 · 485 阅读 · 0 评论 -
【Linux学习笔记】常用命令简介
2.1 显示目录和文件2.1.1 ls命令语法:ls[选项|参数] 目录名说明:用于显示指定目录下的目录和文件选项列表ls命令常用选项列表:选项注释/说明-a显示指定目录下的所有内容,包括隐藏文件...原创 2019-05-27 19:51:55 · 131 阅读 · 0 评论 -
Day05-练习
本文转自GitHub文章:Python - 100天从新手到大师https://github.com/jackfrued/Python-100-Days练习练习清单寻找“水仙花数”。"""找出100~999之间的所有水仙花数水仙花数是各位立方和等于这个数本身的数如: 153 = 1**3 + 5**3 + 3**3Version: 0.1Author: 骆昊Date: 2...转载 2019-05-04 18:16:36 · 183 阅读 · 0 评论 -
Day04-循环结构
本文转自GitHub文章:Python - 100天从新手到大师https://github.com/jackfrued/Python-100-DaysDay04-循环结构循环结构的应用场景如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令。当然你可能已经注意到了,刚才的描述中其实...转载 2019-05-04 18:10:30 · 124 阅读 · 0 评论 -
Day03-分支结构
本文转自GitHub文章:Python - 100天从新手到大师https://github.com/jackfrued/Python-100-DaysDay03-分支结构分支结构的应用场景迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种结构的代码我们称之为顺序结构。然而仅有顺序结构并不能解决所有的问题,比如我们设计一个游戏,游戏第一关的通关条件是玩家获得1000分,那么在...转载 2019-05-04 18:05:13 · 123 阅读 · 0 评论 -
Day02-语言元素
Day02-语言元素指令和程序计算机的硬件系统通常由五大部件构成,包括:运算器、控制器、存储器、输入设备和输出设备。其中,运算器和控制器放在一起就是我们通常所说的中央处理器,它的功能是执行各种运算和控制指令以及处理计算机软件中的数据。我们通常所说的程序实际上就是指令的集合,我们程序就是将一系列的指令按照某种方式组织到一起,然后通过这些指令去控制计算机做我们想让它做的事情。今天我们使用的计算机虽...转载 2019-05-04 17:16:38 · 111 阅读 · 0 评论 -
Day01-初识Python
Day01-初识PythonPython简介Python的历史1989年圣诞节:Guido von Rossum开始写Python语言的编译器。1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C#实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版...转载 2019-05-04 17:11:30 · 314 阅读 · 0 评论 -
【Python 3 机器学习基础】岭回归
岭回归是一种用于回归的线性模型,因此它的预测公式与普通最小二乘法相同。但在岭回归中,对系数(w)的选择不仅要在训练数据上得到好的预测结果,而且还要拟合附加约束。我们还希望系数尽量小。换句话说,w的所有元素都应接近于0.直观上来看,这意味着每个特征对输出的影响应尽可能小(即斜率很小),同时仍给出很好的预测结果。这种约束是所谓正则化(regularization)的一个例子。正则化是指对模型做显式约束...转载 2018-12-22 22:55:46 · 1219 阅读 · 0 评论 -
【Java学习笔记】JDK内置工具
Java程序需要运行环境的支持,同时编译、解释Java程序,执行Java应用程序和Java小程序也需要必要的工具。在JDK中还集成了Java虚拟机(JVM),JVM提供了Java程序的运行环境,它负责解释.class文件(Java源程序经过编译后的文件),并提交给机器执行。JDK常用工具JDK是一个开发工具集合,作为实用程序,工具库有5种主要程序。Javac:Java编译器,将Java源代...转载 2018-11-19 23:37:06 · 229 阅读 · 0 评论 -
【Java学习笔记】Java技术概览 - 2
深入探讨“HelloWorld”应用程序/** HelloWorld类的功能是在标准输出端 打印一行输出"HelloWorld!"*/public class HelloWorld{ public static void main(String[] args){ System.out.println("HelloWorld!"); }}该源程序包括三个部分:程序注释、类定义...转载 2018-11-19 21:24:20 · 119 阅读 · 0 评论 -
【Java学习笔记】Java技术概览 - 1
Java技术Java既是编程语言也是软件平台,作为编程语言的Java有一套自己的机制,实现源程序到处理器可执行程序间的过渡与转换;作为软件平台,Java为程序提供了编程接口和Java虚拟机(Java Virtual Machine,JVM)。...转载 2018-11-19 20:33:37 · 336 阅读 · 0 评论 -
Selenium的判断元素expected_conditions
判断元素如何判断一个元素是否存在,如何判断 alert 弹窗出来了,如何判断动态的元素等等一系列的判断,在 selenium 的 expected_conditions 模块收集了一系列的场景判断方法,这些方法是逢面试必考的!!!expected_conditions 一般也简称 EC,本篇先介绍下有哪些功能。功能介绍title_is: 判断当前页面的 title 是否完全等于(==)预...转载 2018-10-30 21:32:01 · 435 阅读 · 0 评论 -
【Python3 爬虫学习笔记】Scrapy框架的使用 2
运行进入Scrapy创建的目录,运行如下命令:scrapy crawl quotes首先,Scrapy输出了当前的版本号以及正在启动的项目名称。接着输出了当前settings.py中一些重写后的配置。然后输出了当前所应用的Middlewares和Pipelines。Middlewares默认是启动的,可以在settings.py中修改。Pipelines默认是空,同样页可以在setting...转载 2018-10-27 09:19:37 · 299 阅读 · 0 评论 -
【Python3 爬虫学习笔记】pyspider框架的使用 2
pyspider的基本使用计划爬取去哪儿网的旅游攻略,链接为http://travel.qunar.com/travelbook/list.htm,要将所有攻略的作者、标题、出发日期、人均费用、攻略正文等保存下来,存储到MongoDB中。启动pyspider执行如下命令启动pyspider:pyspider all运行结果如下:这样可以启动pyspider的所有组件,包括Phant...转载 2018-10-25 00:00:18 · 383 阅读 · 0 评论 -
【Python3 爬虫学习笔记】Scrapy框架的使用 4
正则匹配Scrapy的选择器还支持正则匹配。比如,在示例的a节点中的文本类似于Name:My image 1,现在我们只想把Name:后面的内容提取出来,这时就可以借助re()方法,实现如下:>>> response.xpath('//a/text()').re('Name:\s(.*)')['My image 1 ', 'My image 2 ', 'My image 3...转载 2018-10-31 22:56:06 · 159 阅读 · 0 评论 -
【MongoDB学习笔记】MongoDB概念解析
SQL术语/概念MongoDB术语/概念解释/说明databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档columnfield数据字段/域indexindex索引table joins表连接,MongoDB不支持primary keyprimary ...转载 2018-11-09 16:39:08 · 152 阅读 · 0 评论 -
【Python3 爬虫学习笔记】pyspider框架的使用 1
在项目实战过程中,我们往往会采用爬虫框架来实现抓取,这样可提升开发效率、节省开发时间。pyspider就是一个非常优秀的爬虫框架,它的操作便捷、功能强大,利用它我们可以快速方便地完成爬虫的开发。pyspider框架介绍pyspider是由国人binux编写的强大的网络爬虫系统,其GitHub地址为https://github.com/binux/pyspider,官方文档地址为http://d...转载 2018-10-24 21:30:38 · 570 阅读 · 0 评论