自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

转载 part4-3 分支结构 、循环结构练习

1、使用循环输出九九乘法表。输出样式结果如下:1 x 1 = 11 x 2 = 2, 2 x 2 = 4......1 x 9 = 9, 2 x 9 = 18, 3 x 9 = 27, ... , 9 x 9 = 811 for i in range(1, 10):2 for j in range(1, i+1):3 if j == i:4 ...

2019-09-16 13:48:00 317

转载 part4-2 流程控制二(循环结构,while、for循环,列表推导式、生成器推导式,常用工具函数,控制循环结构,4个简单实例)...

循环语句在循环条件满足时,可反复执行某一段代码,这段被重复执行的代码称为循环体。在循环体中,需要在合适的时候把循环条件设置为假,从而结束循环;否则循环一直执行下去形成死循环。循环语句通常包含如下4个部分。(1)、初始化语句(init_statements):在循环开始前执行,有一条或多条语句,用于完成一些起初始化工作。(2)、循环条件(test_expression):一个布尔表达式,决...

2019-09-16 12:59:00 397

转载 part4-1 流程控制一(if分支结构、断言)

Python 中两种流程控制结构:分支结构和循环结构。分支结构:根据条件选择性的执行某段代码。由 if 语句提供分支支持。循环结构:根据循环条件重复执行某段代码。由 while、for-in 语句提供。控制循环结构的语句:break 和 continue。顺序结构:程序从上到下一行一行地执行,中间没有任何判断和跳转。一、 if 分支结构if 分支的控制条件是布尔表达式或布尔值。if 分支...

2019-09-16 10:45:00 361

转载 part3-2 Python的字典(字典定义、使用,与字典有关的常用方法,用字典格式化字符串模板),列表、元组、字典练习题...

字典是常用数据结构,存放的是有映射关系的数据。字典中保存了两组数据,一组是键数据,称为key;另一组是值数据,称为value,这组数据可通过 key 来访问。字典中的 key 是非常关键的数据,因此字典中的 key 不能重复,并且是不可变类型,也是可以 hash 的类型。1、 创建字典创建字典可用大括号(或花括号)来创建,也可使用 dict() 函数来创建。dict 是Python中的字...

2019-09-16 10:20:00 129

转载 part3-1 Python列表和元组(列表和元组常用方法使用,序列封包和解包)

Python中内置的三种常用数据结构:列表(list)、元组(tuple)和字典(dict)。这三种数据结构可用于保存多个数据项,可以保存大量数据。列表和元组是按顺序存放元素,每个元素有自己的索引,可通过索引访问元素,两者的区别在于,元组是不可修改的,列表可以修改。字典以 key-value(键值对)形式保存数据。这三种数据结构是编程中必不可少的内容。一、序列介绍序列是指一种包含多项数据...

2019-09-16 10:09:00 184

转载 part2-3:Python 运算符(赋值、算术、位运算、索引、比较、逻辑、三目、in、运算符优先级)...

运算符是一种特殊符号,用来表示数据运算、赋值和比较等。运算符将一个或多个操作数连接成可执行语句,用来实现特定功能。Python 中运算符分为如下几种:(1)、赋值运算符(2)、算术运算符(3)、位运算符(4)、索引运算符(5)、比较运算符(6)、逻辑运算符一、 赋值运算符Python中“=”是赋值运算符,用于为变量或常量指定值。可将表达式的值赋值给另一个变量。例如:s1 = 'pytho...

2019-08-26 22:19:00 124

转载 part2-2: Python 字符串及相关操作方法,字节串与字符串区别,转义字符和格式化字符使用...

Python中的字符串必须使用成对的引号括起来,引号可以是单引号、双引号、三引号。一、 字符串基础1、 字符串和转义字符字符串的内容几乎可以是任何字符,可以是英文字符,也可以是中文字符。字符串是用成对的引号包起来的,当字符串中有引号时,需要做特殊处理:(1)、使用不同的引号将字符串括起来,例如使用双引号表示字符串时,字符串内部可以有单引号出现。(2)、对引号进行转义,使用反斜线(\)将字...

2019-08-26 09:18:00 137

转载 part2:Python 变量及简单类型,print 函数介绍,Python 关键字、内置函数介绍

Python是弱类型语言,关于弱类型有两个含义:(1)、所有的变量无须声明即可使用,或者说对从末用过的变量赋值就是声明了该变量;(2)、变量的数据类型可以随时改变,同一个变量可以进行多次赋值,可以赋数值型和字符串型值。一、 单行注释和多行注释注释可提高程序可读性,用于解释某行或某部分程序的作用和功能。此外注释也是调试程序的重要方式,在调试时可将不希望编译、执行的代码注释掉。注释还可以为别...

2019-08-25 17:19:00 116

转载 part1:Python 语言特点和安装,Ubuntu 19.04 Server系统安装,Windows 7 + RHEL7双系统安装...

Python是一门优秀的编程语言,特点是简洁、易用,功能强大。可用于开发桌面、网络编程、开发Web应用等。还可用于大数据和人工智能领域。一、 Python简介1.1、 Python的历史1989年,Guido van Rossum 开发出Python语言,Python语言基于ABC语言,ABC语言很强大,是为非专业程序员设计的。ABC语言没有得到广泛应用,因为它不是开放的。Python上...

2019-08-25 16:36:00 96

转载 第十部分 模拟登录(模拟登录GitHub并爬取、Cookies池的搭建)

前言:有些页面的信息在爬虫时需要登录才能查看。打开网页登录后,在客户端生成了Cookies,在Cookies中保存了SessionID的信息,登录后的请求都会携带生成后的Cookies发送给服务器。服务器根据Cookies判断出对应的SessionID,进而找到会话。如果当前会话有效,服务器就判断用户当前已登录,返回请求的页面信息,这样就可以看到登录后的页面。这里主要是获取登录后Cook...

2019-07-01 11:08:00 418

转载 第九部分 代理的使用(代理设置,代理池的搭建,用代理获取微信公众号文章)...

网站采取的反爬虫措施有:弹出验证码,需要登录。检测某个IP在单位时间内的请求次数,超过规定的某个值,服务器拒绝服务,返回一些错误信息,这是封IP。既然服务器封IP,可采用某种方式伪装IP,让服务器不能识别由本机发起的请求,这样来避免封IP。这时就需要使用到代理。一、 代理的设置代理有免费代理和付费代理。免费代理多数情况下不好用,付费代理比较靠谱。付费代理不用多,稳定可用即可。西刺免费代理...

2019-05-22 12:16:00 1197

转载 第八部分 验证码的识别(极验验证码)

前言:验证码是众多网站采取的反爬措施。验证码的花样也很多,主要有下面这几种类验证码:图形验证码:数字、英文字母、混淆曲线组合成的验证码。行为验证码:识别文字,点击与文字相符的图片验证码。交互式验证码:极难滑动验证码,滑动拼合滑块方可完成验证。点触验证码:点击正确结果才可完成验证。还有滑动宫格验证码、计算题验证码等。下面涉及到的验证码有普通图形验证码、极验滑动验证码、点触验证码、微博宫格验...

2019-05-20 16:56:00 845

转载 第七部分(三) 动态渲染页面爬取(用Selenium获取淘宝商品,不涉及验证登录)...

三、 使用 Selenium 爬取淘宝商品在分析 Ajax 抓取相关数据时,不是所有页面都可以通过分析 Ajax 来完成抓取。比如淘宝的整个页面数据确实是通过 Ajax 获取的,但这些 Ajax 接口参数复杂,并且包含有加密密钥等,如果要构造 Ajax 参数是很困难。像这种页面最方便的抓取方法是通过 Selenium 。接下就用 Selenium 模拟浏览器操作,抓取淘宝的商品信息,并用...

2019-04-03 09:43:00 144

转载 第七部分(二) 动态渲染页面爬取(Splash的安装和使用、Scrapy的安装、Docker的安装、Scrapy-Splash的安装,在Windows及Linux平台的安装)...

二、 Splash的使用Splash是一个JavaSscript渲染服务,一个带有HTTP API的轻量级浏览器,同时对接了Python中的Twisted和QT库。使用它同样可以实现动态渲页面的抓取。Splash可以实现下面的这些功能:异步方式处理多个网页渲染过程;获取渲染后的页面的源代码或截图;通过关闭图片渲染或者使用Adblock规则来加快页面渲染速度;可执行特定的 JavaScri...

2019-04-02 17:28:00 117

转载 第七部分(一) 动态渲染页面爬取(Selenium的使用)

Ajax分析和抓取方式,是JavaScript动态渲染页面的一种情形,可使用 requests 或 urllib 爬取数据。JavaScript动态渲染的页面不是只有Ajax一种,比如中国青年网 http://news.youth.cn/gn/ 的分页部分由JavaScript生成的,不是原始的HTML代码,但是不包含Ajax请求。又比如ECharts的官方实例 http://echar...

2019-04-02 12:59:00 650

转载 第六部分(二) 分析Ajax爬取今日头条街拍图

分析今日头条的Ajax请求抓取网页数据,这次抓取今日头条的街拍美图,抓取完成后将每组图片分文件夹下载到本地并保存下来。1 抓取前的分析工作首先分析抓取逻辑,打开今日头条首页:http://www.toutiao.com/。右上角有一个搜索入口,由于要抓取街拍美图,所以输入“街拍”二字进行搜索。出现搜索结果页面。接着打开开发者工具,查看所有的网络请求。首先打开第一个网络请求,这个请求的U...

2019-04-02 09:37:00 96

转载 虚拟机WMware NAT方式共享物理主机IP地址上网设置方式

物理主机:通常也叫作宿主机,是安装 VMware 软件的主机。虚拟机:是运行在 VMware 软件上的主机。虚拟机网卡认识:VMnet0:虚拟机桥接模式的网卡。VMnet1:虚拟机仅主机模式的网卡。VMnet8:虚拟机 NAT 模式的网卡,是VMware为物理主机分配的虚拟网卡,物理主机通过这块 VMnet8 网卡与虚拟机操作系统进行通信。如下图所示:第一步...

2019-04-01 17:05:00 812

转载 第六部分 Ajax数据获取(Ajax请求分析、获取步骤、简单实例)

前言:在用request抓取页面时,有时得到的结果与在浏览器中看到的不一样,浏览器能看到正常页面数据,但使用requests得到的结果并没有。requests获取的是原始的HTML文档,而浏览器中的页面是经过JavaScript处理数据后生成的结果,这些数据来源可能通过Ajax加载的,可能包含在HTML文档中的,也可能是经过JavaScript和特定算法计算后生成的。对于Ajax加载方式...

2019-04-01 11:20:00 94

转载 第五部分(三) 数据存储(非关系型数据库存储:MongoDB存储、Redis存储)

非关系型数据库存储NoSQL全称Not Only SQL,意为不仅仅是SQL,泛指非关系型数据库。NoSQL基于键值对,不经过SQL层的解析,数据间没有耦合性,性能高。非关系型数据库细分如下:键值存储数据库:代表有Redis,Voldemort和Oracle BDB等。列存储数据库:代表有Cassandra,HBase和Riak等。文档型数据库:代表有CouchDB和MongoDB等。图...

2019-03-11 16:32:00 166

转载 第五部分(二) 数据存储(关系型数据库:MySQL存储方式)

一 关系型数据库存储关系型数据库是基于关系模型的数据库,而关系模型是通过二维表来保存的,所以它的存储方式就是行列组成的表,每一列是一个字段,每一行是一条记录。表可以看作某个实体的集合,而实体之间存在联系,这就需要表与表之间的关联关系来体现,如主键外键的关联关系。多个表组成一个数据库,也就是关系型数据库。关系型数据库有多种,如SQLite、MySQL、Oracle、SQL Server...

2019-03-11 14:09:00 573

转载 第五部分(一) 数据存储(txt文本、JSON、CSV存储方式)

用解析器解析出数据后就要对数据进行存储。存储形式有多种,可直接在保存为文本文件,如TXT,JSON,CSV等。另外还可保存到数据库中,如关系型数据库MySQL,非关系型数据库MongoDB,Redis等。一 文件存储主要有txt,json,csv等文本文件存储方式。(一) TXT文本存储优点:简单,兼容任何平台;缺点:不利于检索。对检索和数据结构要求不高,使用方便的话,可用TXT...

2019-03-11 10:42:00 316

转载 第四部分 解析库的使用(XPath、Beautiful Soup、PyQuery)

在网页节点中,可以定义id、class或其他属性。节点间有层次关系,网页中要通过XPath或CSS选择器定位一个或多个节点。在页面解析时,可利用XPath或CSS选择器提取某个节点,再调用相应方法获取它的正文内容或者属性,就可提取到想要的信息。在python中常用的解析库有lxml、Beautiful Soup、pyquery等。使用这些库可以很大程度上提高效率。一 使用XPat...

2019-03-08 16:03:00 244

转载 第三部分 基本库的使用(urllib库, requests库, re库)

Python提供了功能齐全的类库来完成网络请求。基础库的HTTP库有urllib, httplib2, requests, treq等。比如说rullib库,不用关心底层怎么实现的,只要关心请求的链接是什么,要传的参数是什么,以及如何设置可选的请求。有这些库,可能两行代码就可完成一个请求和响应的处理过程,得到网页内容。一 使用urllibPython2中,有urllib和urlli...

2019-01-24 17:26:00 1460

转载 第二部分 爬虫要具备的基础知识

一、HTTP基本原理(一) URI和URL URI全称为:Uniform Resource Identifier,统一资源标志符 URL全称为:Universal Resource Locator ,即统一资源定位符。 用URL/URI来唯一指定它的访问方式,包括了访问协议https、访问路径(/即根目录)和资源名称。 URL是UR...

2019-01-23 10:59:00 190

转载 第一部分 开发环境配置

一、Python3的安装安装包下载及相关文档介绍。相关连接如下。官方网站:https://www.python.org/下载地址:https://www.python.org/downloads第三方库:https://pypi.python.org/pypi官方文档:https://docs.python.org/3中文教程:http://www.runoob.com/python3/...

2019-01-22 16:54:00 201

转载 第十六篇 更多关于IPython的系统

第二篇中,学习了IPython shell和Jupyter notebook的基础。本篇中,继续探索IPython更深层次的功能,可以从控制台或在jupyter使⽤。一、使⽤命令历史Ipython维护了⼀个位于磁盘的⼩型数据库,⽤于保存执⾏的每条指令。它的⽤途有: 只⽤最少的输⼊,就能搜索、补全和执⾏先前运⾏过的指令; 在不同s...

2019-01-14 15:50:00 204

转载 第十五篇 NumPy⾼级应⽤

在这篇中,将会深⼊NumPy库的数组计算。这会包括ndarray更内部的细节,和更⾼级的数组操作和算法。一、ndarray对象的内部机理NumPy的ndarray提供了⼀种将同质数据块(可以是连续或跨越)解释为多维数组对象的⽅式。正如你之前所看到的那样,数据类型(dtype)决定了数据的解释⽅式,⽐如浮点数、整数、布尔值等。ndarray如此强⼤的部分原因是所有数组对象都是数据块...

2019-01-14 14:33:00 402

转载 第十四篇 数据分析案例

经过前面的学习,下面来看⼀些真实世界的数据集。对于每个数据集,我们会⽤之前介绍的⽅法,从原始数据中提取有意义的内容。展示的⽅法适⽤于其它数据集,也包括你的。本篇包含了⼀些各种各样的案例数据集,可以⽤来练习。案例数据集可以在Github仓库找到。一、来⾃Bitly的USA.gov数据2011年,URL缩短服务Bitly跟美国政府⽹站USA.gov合作,提供了⼀份从⽣成.go...

2019-01-08 17:30:00 946

转载 第十三篇 Python建模库介绍

前面已经介绍了Python数据分析的编程基础。数据分析师和科学家总是在数据规整和准备上花费⼤量时间,前面部分的重点在于掌握这些功能。开发模型选⽤什么库取决于应⽤本身。许多统计问题可以⽤简单⽅法解决,⽐如普通的最⼩⼆乘回归,其它问题可能需要复杂的机器学习⽅法。幸运的是,Python已经成为了运⽤这些分析⽅法的语⾔之⼀,因此读完这些文章,你可以探索许多⼯具。本篇中,首先回顾⼀些pan...

2019-01-08 12:59:00 355

转载 第十二篇 pandas⾼级应⽤

前⾯部分关注于不同类型的数据规整流程和NumPy、pandas与其它库的特点。随着时间的发展,pandas发展出了更多适合⾼级⽤户的功能。本篇就深⼊学习pandas的⾼级功能。一、分类数据接下来要说的是pandas的分类类型。通过使⽤它,可提⾼性能和内存的使⽤率。后面还会介绍⼀些在统计和机器学习中使⽤分类数据的⼯具。1、背景和⽬的表中的⼀列通常会有重复的包含不同值...

2019-01-03 10:18:00 304

转载 第十一篇 时间序列

时间序列(time series)数据是⼀种重要的结构化数据形式,应⽤于多个领域,包括⾦融学、经济学、⽣态学、神经科学、物理学等。在多个时间点观察或测量到的任何事物都可以形成⼀段时间序列。很多时间序列是固定频率的,也就是说,数据点是根据某种规律定期出现的(⽐如每15秒、每5分钟、每⽉出现⼀次)。时间序列也可以是不定期的,没有固定的时间单位或单位之间的偏移量。时间序列数据的意义取决于具体的...

2018-12-28 14:55:00 586

转载 第十篇 数据聚合与分组运算

对数据集进⾏分组并对各组应⽤⼀个函数(⽆论是聚合还是转换),通常是数据分析⼯作中的重要环节。在将数据集加载、融合、准备好之后,通常就是计算分组统计或⽣成透视表。pandas提供了⼀个灵活⾼效的gruopby功能,它使你能以⼀种⾃然的⽅式对数据集进⾏切⽚、切块、摘要等操作。关系型数据库和SQL(Structured Query Language,结构化查询语⾔)能够如此流⾏的原因之...

2018-12-26 11:16:00 547

转载 第九篇 绘图和可视化

信息可视化(也叫绘图)是数据分析中最重要的⼯作之⼀。它可能是探索过程的⼀部分,例如,帮助我们找出异常值、必要的数据转换、得出有关模型的idea等。另外,做⼀个可交互的数据可视化也许是⼯作的最终⽬标。Python有许多库进⾏静态或动态的数据可视化,但这⾥主要关注于matplotlib(http://matplotlib.org/)和基于它的库。matplotlib是⼀个⽤于创建出版质量...

2018-12-20 13:29:00 384

转载 第八篇 数据规整:聚合、合并和重塑

在许多应⽤中,数据可能分散在许多⽂件或数据库中,存储的形式也不利于分析。本章关注可以聚合、合并、重塑数据的⽅法。⾸先,介绍pandas的层次化索引,它⼴泛⽤于以上操作。然后,深⼊介绍了⼀些特殊的数据操作。一、层次化索引层次化索引(hierarchical indexing)是pandas的⼀项重要功能,它使你能在⼀个轴上拥有多个(两个以上)索引级别。抽象点说,它使你能以低...

2018-12-19 17:33:00 255

转载 第七篇 数据清洗和准备

在数据分析和建模的过程中,要花很多时间在数据准备上:加载、清理、转换以及重塑。这些⼯作会占到分析师时间的80%或更多。有时,存储在⽂件和数据库中的数据的格式不适合某个特定的任务。pandas和内置的Python标准库提供了⼀组⾼级的、灵活的、快速的⼯具,可以让你轻松地将数据规变为想要的格式。接下来会讨论处理缺失数据、重复数据、字符串操作和其它分析数据转换的⼯具。一、处理缺失数据p...

2018-12-17 15:50:00 414

转载 第六篇 数据加载、存储与⽂件格式

输⼊输出通常可以划分为⼏个⼤类:读取⽂本⽂件和其他更⾼效的磁盘存储格式,加载数据库中的数据,利⽤Web API操作⽹络资源。一、读写文本格式的数据pandas提供了⼀些⽤于将表格型数据读取为DataFrame对象的函数。表6-1对它们进⾏了总结,其中read_csv和read_table可能会是今后⽤得最多的。表6-1 pandas中的解析函数这些函数的选项可以划分...

2018-12-13 14:30:00 505

转载 第五篇 pandas⼊⻔

pandas含有使数据清洗和分析⼯作变得更快更简单的数据结构和操作⼯具。pandas经常和其它⼯具⼀同使⽤,如数值计算⼯具NumPy和SciPy,分析库statsmodels和scikit-learn,和数据可视化库matplotlib。pandas是基于NumPy数组构建的,特别是基于数组的函数和不使⽤for循环的数据处理。pandas与NumPy的不同:pandas采⽤了⼤量的N...

2018-12-09 00:23:00 220

转载 第四篇 NumPy基础:数组和⽮量计算

NumPy(Numerical Python的简称)是Python数值计算最重要的基础包。⼤多数提供科学计算的包都是⽤NumPy的数组作为构建基础。NumPy的部分功能如下:   ndarray,⼀个具有⽮量算术运算和复杂⼴播能⼒的快速且节省空间的多维数组。   ⽤于对整组数据进⾏快速运算的标准数学函数(⽆需编写循环)。   ⽤于读写磁盘数据的⼯...

2018-12-05 15:48:00 683

转载 第三篇:Python的数据结构、函数和⽂件

一、数据结构和序列:Python的数据结构简单⽽强⼤。通晓它们才能成为熟练的Python程序员。1、元组:元组是⼀个固定⻓度,不可改变的Python序列对象。创建元组的最简单⽅式,是⽤逗号分隔⼀列值:tup = 4, 5, 6tup # 输出:(4, 5, 6)当⽤复杂的表达式定义元组,最好将值放到圆括号内,如下所示:nested_tup = (4, 5, 6), (7, 8)nes...

2018-12-03 15:05:00 314

转载 第二篇 Python语法基础,IPython和Jupyter Notebooks

一、IPython解释器字典解析式:import numpy as npdata = {i:np.random.randn() for i in range(7)}1、运⾏Jupyter NotebookJupyter Notebook需要与内核互动,内核是Jupyter与其它编程语⾔的交互编程协议。Python的Jupyter内核是使⽤IPython。要启动Jupyter...

2018-11-30 16:38:00 231

空空如也

空空如也

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

TA关注的人

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