综述本系列文档用于对Python爬虫技术的学习进行记录总结。Python版本是3.7.4urllib库介绍它是Python内置的HTTP请求库,也就是说我们不需要额外安装即可使用,它包含四个模块(主要对前三个模块进行学习):request:它是最基本的HTTP请求模块,我们可以用它来模拟发送一请求,就像在浏览器里输入网址然后敲击回车一样,只需要给库方法传入URL还有额外的参数,就可以模拟实现这个过程了。error:异常处理模块,如果出现请求错误,我们可以捕
系统 2019-09-27 17:54:27 2215
一关于局部变量整体变量的理解以及somethingabout不可变对象defChangeInt(a):...a=10...b=2ChangeInt(b)print(b)2这个不可变对象的实例让我产生了疑惑,于是我做了如下:defChangeInt(a):...a=10...a=2ChangeInt(a)print(a)2这个其实很好理解,因为a=10只是个局部变量,也没有return无法对外部造成影响。哪怕我做如下操作:defChangeInt(a):..
系统 2019-09-27 17:53:47 2215
前言学过Python数据分析的朋友都知道,在可视化的工具中,有很多优秀的三方库,比如matplotlib,seaborn,plotly,Boken,pyecharts等等。这些可视化库都有自己的特点,在实际应用中也广为大家使用。plotly、Boken等都是交互式的可视化工具,结合Jupyternotebook可以非常灵活方便地展现分析后的结果。虽然做出的效果非常的炫酷,比如plotly,但是每一次都需要写很长的代码,一是麻烦,二是不便于维护。我觉得在数据
系统 2019-09-27 17:52:48 2215
#使用StandardScaler进行数据预处理importnumpyimportmatplotlib.pyplotaspltfromsklearn.datasetsimportmake_blobsX,y=make_blobs(n_samples=40,centers=2,random_state=50,cluster_std=2)plt.scatter(X[:,0],X[:,1],c=y,cmap=plt.cm.cool)plt.show()#导入Sta
系统 2019-09-27 17:52:41 2215
个人想到的解决方法有两种,一种是.replace('old','new')第一个参数是需要换掉的内容比如空格,第二个是替换成的内容,可以把字符串中的空格全部替换掉.第二种方法是像这样str_1_data='abc'str_2_list=str_1_data.split()str_1=''foriinrange(len(str_2_list)):#这里可以直接用str_1.join(str2_list)str_1+=str_2_list[i]print(st
系统 2019-09-27 17:51:45 2215
目录python编程语言简介一、产生背景:二、python编程语言的应用场景三、python的优缺点四、python语法五、python基础内容点六、代码规范:python编程语言简介Python是著名的“龟叔”GuidovanRossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。Python是一门面向对象的解释型脚本编程语言Python是一门高级编程语言,但是高级不等同于简单。但是对于新手和初学者,非常容易上手Python语言是当
系统 2019-09-27 17:51:23 2215
最近刚好有朋友遇到个global相关的问题,这里简单学习一下global关键字的用法。想要更好的了解global关键字,首先要熟悉python的全局变量与局部变量的概念。global关键字的作用是可以申明一个局部变量为全局变量,下面看一下实例一、变量作用域的说明这里简单提一下变量作用域的概念,有兴趣的小伙伴,可以查一下相关的博客1、局部变量defa():##菊部变量-,-local=1print(local)##全局无法使用,只有自己可用print(lob
系统 2019-09-27 17:51:01 2215
前言Python以其简单易懂的语法格式与其它语言形成鲜明对比,初学者遇到最多的问题就是不按照Python的规则来写,即便是有编程经验的程序员,也容易按照固有的思维和语法格式来写Python代码,有一个外国小伙总结了一些大家常犯的错误,,我把他翻译过来并在原来的基础补充了我的一些理解,希望可以让你避开这些坑。0、忘记写冒号在if、elif、else、for、while、class、def语句后面忘记添加“:”ifspam==42print('Hello!')
系统 2019-09-27 17:50:54 2215
接触Python以来,看到类里的函数要带个self参数,一直搞不懂啥麻子原因。晚上特别针对Python的self查了一下,理理。Python要self的理由Python的类的方法和普通的函数有一个很明显的区别,在类的方法必须有个额外的第一个参数(self),但在调用这个方法的时候不必为这个参数赋值(显胜于隐的引发)。Python的类的方法的这个特别的参数指代的是对象本身,而按照Python的惯例,它用self来表示。(当然我们也可以用其他任何名称来代替,只
系统 2019-09-27 17:49:43 2215
在python中的数据类型和控制流这篇文章中我们提到过列表,它是基本的数据类型之一。通俗来说,它就是用来存储一系列数据的。比如存储一个班级的学生。列表中的每个元素可以通过下标(索引)访问,索引从0开始。既然列表存储的是一系列值,这必然存在「增删改查」的情况,就像一个班级的学生,有进入学的,也有退学的。接下来我们来说说,首先我们先从列表的创建开始。创建列表list=[ele1,ele2,elem3,...,elen]比如,创建一个数字列表或英文字符列表num
系统 2019-09-27 17:48:06 2215
最近敲代码的时候主要遇到两大问题,第一个是构造自己包的时候找不到package。构造自己package谈两条经验,有助于解决这个问题。1自己构造包的名称尽量不要和Python自带的包重名,起的名字个性化一点。要不然出的bug都不知道错在哪2只要打算把这个文件夹当成一个包,就一定要在这个文件夹同一目录下新建一个__init__.py文件(内容可以为空)一般来说注意这两点,构建包就不成问题。在包的文件夹里面的.py文件称之为模块(文件名就是模块名),当然包里也
系统 2019-09-27 17:48:06 2215
某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法。用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块。本文就此简述了Python实现动态添加类的属性或成员函数的解决方法,具体方法如下:首先我们可以参考ulipad的实现:mixin。这里做的比较简单,只是声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数。代码如下所示:classWi
系统 2019-09-27 17:47:25 2215
方法update用于对一个字典进行更新。在调用update时,可向它提供一个映射、一个由键-值对组成的序列(或其他可迭代对象)或关键字参数。映射>>>d={...'title':'PythonWebSite',...'url':'http://www.python.org'...}>>>x={'title':'PythonLanguageWebsite'}>>>d.update(x)>>>d{'url':'http://www.python.org','t
系统 2019-09-27 17:47:20 2215
Python命令行之旅:深入argparse(二)作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在上一篇“深入argparse(一)”的文章中,我们深入了解了argparse的包括参数动作和参数类别在内的基本功能,具备了编写一个简单命令行程序的能力。本文将继续深入了解argparse的进阶玩法,一窥探其全貌,助
系统 2019-09-27 17:47:15 2215
上面的博客把基本的HTML解析库已经说完了,这次我们来给予几个实战的项目。这次主要用Requests库+正则表达式来解析HTML。项目一:爬取猫眼电影TOP100信息代码地址:https://gitee.com/dwyui/maoyan-Requests.git项目二:美食爬取(包含多层爬取)代码地址:https://gitee.com/dwyui/meishi_Requests.git
系统 2019-09-27 17:47:06 2215