勤学思培训网LBGNBG
  • 终于理解python3.5爬虫入门教程

    随着python语言的发展,在软件行业里面使用python编程语言的公司会越来越多,那么,在学习使用Python需要养成的什么好习惯呢?以下是小编为你整理的爬虫入门教程

    缩进:由于跟其他编程语言的区别性,缩进在python编程中显得十分重要;在Python的代码块中必须使用相同数目的行首缩进空格数,否则会造成脚本运行错误,提示你格式不正确之类的信息。因此,在使用python语言写脚本的时候,保证缩进的一致性相当重要。

    空行:虽然在python编程过程中,空行并不是Python语法的必需部分,但是,保持函数之间或类的方法之间用空行分隔,可以使得代码看起来更加清晰明了,也有利于后期的代码维护或重构。


    [图片0]

    注释:注释相对经常使用编程语言的人来说应该不是很陌生吧,主要因为注释不仅使得阅读代码的人容易理解,也让代码作者更好地定位代码函数等。python跟其它语言一样,注释在一些该注释的地方,可以让效率事半功倍。

    源代码:python作为完全开源的语言,代码对于任何人都可以随意浏览。这种方式可以更好地帮助人们发现有利精简扼要的代码,在很多方面可以省去不必要的时间,因为觉得合适可以直接拿过来使用或者简单修改。经常看一下好的源代码,不仅会让你学习别人的编程方式,还在另一方面大大的帮助你更好地学习。

    编程思想:使用任何一门编程语言,都需要保持很好的编程思想,对python来说也是一样的。学会创造使用适合自己的编程思想是至关重要的,因此,去多读一些讲解编程思想之类的书籍来充实自己吧。

    python的作用

    Python的优势有必要作为第一步去了解,Python作为面向对象的脚本语言,优势就是数据处理和挖掘,这也注定了它和AI、互联网技术的紧密联系。

    网站开发。Python数据处理很在线,用它编写网站可以为大众提供优秀的服务,主要使用django和flask框架,著名的网站像知乎、YouTube就是Python写的。

    自动化运维。Python运行在Linux系统上可以作为服务器脚本不停工作,实现对主机的自动化操作,自动登录等就是应用之一。

    网络爬虫。顾名思义,从互联网上爬取信息的脚本,主要由urllib、requests等库编写,实用性很强,小编就曾写过爬取5w数据量的爬虫。在大数据风靡的时代,爬虫绝对是新秀。

    人工智能。AI使Python一战成名,AI的实现可以通过tensorflow库。小编认为,神经网络的核心在于激活函数、损失函数和数据,数据可以通过爬虫获得。训练时大量的数据运算又是Python的show time。

    当然以上只是Python应用最多的领域,别的领域和这些往往存在交集,这里就不再赘述了,至于Python能不能写外挂和游戏,下面小编就告诉大家。

    外挂是写不了的,Python是脚本语言,不可能像易语言、C语言那样流畅自如地编写辅助。

    游戏并不适合用Python开发,Python虽有pygame库,但是功能不强,游戏运行效率低下,写游戏还是要靠游戏引擎。

    python的安装方法

    python下载时也可以下载zip的版本(Windows x86-64 embeddable zip file),但是下载后有时发现会出现很多dll文件丢失情况,还需要去重新修复这些问题,会比较麻烦,所以还是建议下载Windows x86-64 executable installer版本

    下载完成后双击执行下载的exe程序,进入安装界面。安装界面可以选择默认安装,也可以自定义安装,我比较喜欢自定义安装,默认安装路径都比较深,自定义安装自己定义个较浅的目录,后续容易找。


    [图片1]

    在选择路径安装时,可以把下方的“Add Python to PATH”勾选上,这个就直接默认把用户变量添加上了,后续不用再添加

    选择好后,继续下一步,全部默认选择即可,如有需要可变更,再下一步时直接更新安装存储的路径(D:)。

    继续下一步,则提示安装成功。在安装目录也可以看到如下图2的相关信息。同时在cmd中执行python -V(大写V哦)则可看到成功安装的版本。


    python的有序列表

    python的另外一种有序列表tuple元组。和上一讲的list非常类似,但是tuple一旦初始化后元素不能被修改了。

    如何定义一个元组?

    定义一个元组,并打印

    >>> students = ('zhaoyun','machao','huangzhong')

    >>> print (students)

    ('zhaoyun', 'machao', 'huangzhong')

    >>>

    元组tuple和list不一样的是,没有insert、append等功能喽,然而获取元素的方法和list是类似的。

    比如获取元素索引为2或者1的元素

    students[1]

    >>> print (students[2])

    huangzhong

    >>> print (students[1])

    machao

    >>>

    那么不可以变的tuple有何应用场景呢?

    从代码安全性考虑,由于不可变更,更加安全。所以很多时候能使用tuple的绝不使用list,这是基本原则之一。

    如何定义一个空的元组呢?

    和list类似

    >>> a = ()

    >>> print (a)

    ()

    >>> print (len(a))

    0

    >>>

    那如何定义一个只有一个元素的元组tuple呢?

    >>> b = ('1')

    >>> print (b)

    1

    >>>

    >>>

    >>> b = ('1',)

    >>> print (b)

    ('1',)

    >>>

    后者定义的才是对的哦,只有1个元素的tuple在定义的时候加一个逗号,用来消除这个歧义。

    接下来再看看这个挺有意思的例子。

    >>> c = (1,2,['x','y'])

    >>> c[2][0] = 'a'

    >>> c[2][1] = 'b'

    >>> print (c)

    (1, 2, ['a', 'b'])

    >>>

    从这个例子来看,很多会有疑问?这个tuple不是能变吗,为何要说tuple是不可变的呢

    其实不然,说tuple不可变而是说地址指向不可变,本例所有的地址指向并没有变