python网络爬虫学习笔记(2)

系统 1389 0

网络爬虫学习笔记(2)

1 资料

  • 《Python网络爬虫从入门到实践》唐松,陈志铨。主要面向windows平台下的python3。
  • 菜鸟教程-》python

2 笔记

2-1 Python基础(1)++

  1. python的列表还有一种只读格式——元组Tuple,它用()进行赋值,且只能在初始化时赋值。
  2. 列表有追加元素的内置方法append()
  3. 字典有内置方法keys()(获得所有键的值),values()
  4. 元组用 “( )” 标识, 列表用 “[ ]” 标识,字典用 “{ }” 标识
  5. type(变量) 查看该变量的数据类型,还可以用 isinstance(变量,类型) 来判断是不是那种类型。type()不会认为子类是一种父类类型,isinstance()会认为子类是一种父类类型。

2-2 Python基础(2)

  1. 条件语句——格式上是if 条件 :,取代Java中()的是一个在最后的:同样有else存在(但是else后面要加:),另外还有else if简写而成的elif。
            
              a 
              
                =
              
              
                'book'
              
              
b 
              
                =
              
              
                'java'
              
              
c 
              
                =
              
              
                "book"
              
              
                if
              
               a 
              
                ==
              
               b 
              
                :
              
              
                print
              
              
                (
              
              a
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                'a!=b'
              
              
                )
              
              
                if
              
               a 
              
                ==
              
               c 
              
                :
              
              
                print
              
              
                (
              
              a
              
                )
              
              
                elif
              
               b 
              
                ==
              
               c 
              
                :
              
              
                print
              
              
                (
              
              
                'b==c'
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                'c!=a/b'
              
              
                )
              
            
          
  1. 循环语句——常用的有for循环和while循环两种,同样是()变成末尾的:。不过python的for循环形式上更接近foreach循环,python中的循环还可以使用else。
            
              myBook 
              
                =
              
              
                [
              
              
                'java'
              
              
                ,
              
              
                'python'
              
              
                ,
              
              
                'c'
              
              
                ]
              
              
                for
              
               book 
              
                in
              
               myBook
              
                :
              
              
                print
              
              
                (
              
              book
              
                )
              
              
                print
              
              
                (
              
              
                '\n'
              
              
                )
              
              
                for
              
               i
              
                ,
              
              j 
              
                in
              
              
                enumerate
              
              
                (
              
              
                (
              
              
                'a'
              
              
                ,
              
              
                'b'
              
              
                ,
              
              
                'c'
              
              
                )
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              i
              
                ,
              
              j
              
                )
              
              
                for
              
               i
              
                ,
              
              j 
              
                in
              
              
                enumerate
              
              
                (
              
              myBook
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              i
              
                ,
              
              j
              
                )
              
              
count 
              
                =
              
              
                0
              
              
                while
              
               count 
              
                <
              
              
                3
              
              
                :
              
              
                print
              
              
                (
              
              myBook
              
                [
              
              count
              
                ]
              
              
                )
              
              
    count 
              
                =
              
               count 
              
                +
              
              
                1
              
            
          

for循环中利用内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数, range返回一个序列的数。(例子来自菜鸟)(菜鸟你的括号呢?)

            
              fruits 
              
                =
              
              
                [
              
              
                'banana'
              
              
                ,
              
              
                'apple'
              
              
                ,
              
              
                'mango'
              
              
                ]
              
              
                for
              
               index 
              
                in
              
              
                range
              
              
                (
              
              
                len
              
              
                (
              
              fruits
              
                )
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                '当前水果 :'
              
              
                ,
              
               fruits
              
                [
              
              index
              
                ]
              
              
                )
              
            
          

else使用例子(例子来自菜鸟)

            
              
                for
              
               num 
              
                in
              
              
                range
              
              
                (
              
              
                10
              
              
                ,
              
              
                20
              
              
                )
              
              
                :
              
              
                # 迭代 10 到 20 之间的数字
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                2
              
              
                ,
              
              num
              
                )
              
              
                :
              
              
                # 根据因子迭代
              
              
                if
              
               num
              
                %
              
              i 
              
                ==
              
              
                0
              
              
                :
              
              
                # 确定第一个因子
              
              
         j
              
                =
              
              num
              
                /
              
              i          
              
                # 计算第二个因子
              
              
                print
              
              
                (
              
              
                '%d 等于 %d * %d'
              
              
                %
              
              
                (
              
              num
              
                ,
              
              i
              
                ,
              
              j
              
                )
              
              
                )
              
              
                break
              
              
                # 跳出当前循环
              
              
                else
              
              
                :
              
              
                # 循环的 else 部分,不break跳出循环的话就会执行
              
              
                print
              
              
                (
              
              num
              
                ,
              
              
                '是一个质数'
              
              
                )
              
            
          

此外循环中可以用continue、break、pass(什么也不做)。
3. 函数——参数(()里的内容)必须要正确地写入函数中

            
              
                def
              
              
                add
              
              
                (
              
              x
              
                )
              
              
                :
              
              
    y 
              
                =
              
               x 
              
                +
              
              
                1
              
              
                return
              
               y
w 
              
                =
              
              
                1
              
              
                print
              
              
                (
              
              w
              
                )
              
              
                print
              
              
                (
              
              add
              
                (
              
              w
              
                )
              
              
                )
              
            
          
  1. 运算符,这里只提一下python中有**——幂 - 返回x的y次幂,//——取整除 - 返回商的整数部分(向下取整)并且没有++、–(- -,间隙被间隙掉了!)。另外与或非分别写成and、or、not。python还有成员运算符in、not in;身份运算符is,not is(用于比较两个对象的存储单元)
            
              
                class
              
              
                Person
              
              
                :
              
              
                #这是一个类变量,它的值将在这个类的所有实例之间共享
              
              
    n 
              
                =
              
              
                0
              
              
                #__init__构造方法,注意前后均有两个_
              
              
                #self 代表类的实例,self 在定义类的方法时是必须有的
              
              
                #,虽然在调用时不必传入相应的参数。
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                ,
              
               name
              
                ,
              
               age
              
                )
              
              
                :
              
               
        self
              
                .
              
              name 
              
                =
              
               name
        self
              
                .
              
              age 
              
                =
              
               age
    
              
                def
              
              
                detail
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                #通过这个函数来调用被封装的内容
              
              
                print
              
              
                (
              
              self
              
                .
              
              name
              
                )
              
              
                print
              
              
                (
              
              self
              
                .
              
              age
              
                )
              
              
        
obj1 
              
                =
              
               Person
              
                (
              
              
                'sss'
              
              
                ,
              
              
                16
              
              
                )
              
              
                #对象声明
              
              
obj1
              
                .
              
              detail
              
                (
              
              
                )
              
               
obj1
              
                .
              
              name
obj1
              
                .
              
              n

            
          

继承格式

            
              
                class
              
               子类名
              
                (
              
              父类名
              
                )
              
              
                :
              
            
          

构造方法重写时用super关键字来使用父类构造方法

            
              
                class
              
              
                Father
              
              
                (
              
              
                object
              
              
                )
              
              
                :
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                ,
              
               name
              
                )
              
              
                :
              
              
                class
              
              
                Son
              
              
                (
              
              Father
              
                )
              
              
                :
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                ,
              
               name
              
                )
              
              
                :
              
              
                super
              
              
                (
              
              Son
              
                ,
              
               self
              
                )
              
              
                .
              
              __init__
              
                (
              
              name
              
                )
              
            
          
    1. 基础重载方法
      下表列出了一些通用的功能,可以在自己的类重写:
            
              __init__ 
              
                (
              
               self 
              
                [
              
              
                ,
              
              args
              
                .
              
              
                .
              
              
                .
              
              
                ]
              
              
                )
              
              
构造函数
简单的调用方法
              
                :
              
               obj 
              
                =
              
               className
              
                (
              
              args
              
                )
              
              
__del__
              
                (
              
               self 
              
                )
              
              
析构方法
              
                ,
              
               删除一个对象
简单的调用方法 
              
                :
              
              
                del
              
               obj
__repr__
              
                (
              
               self 
              
                )
              
              
转化为供解释器读取的形式
简单的调用方法 
              
                :
              
              
                repr
              
              
                (
              
              obj
              
                )
              
              
__str__
              
                (
              
               self 
              
                )
              
              
用于将值转化为适于人阅读的形式
简单的调用方法 
              
                :
              
              
                str
              
              
                (
              
              obj
              
                )
              
              
__cmp__ 
              
                (
              
               self
              
                ,
              
               x 
              
                )
              
              
对象比较
简单的调用方法 
              
                :
              
              
                cmp
              
              
                (
              
              obj
              
                ,
              
               x
              
                )
              
            
          
  1. 模块Module——是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。使用 import 语句来引入模块。
            
              
                # 导入模块
              
              
                import
              
               support 

              
                # 现在可以调用模块里包含的函数了
              
              
support
              
                .
              
              print_func
              
                (
              
              
                "Runoob"
              
              
                )
              
            
          

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论