<wbr id="wsjqy"></wbr>

          <form id="wsjqy"></form>
          <sub id="wsjqy"></sub>
          <nav id="wsjqy"><listing id="wsjqy"></listing></nav>
          更多課程 選擇中心


          Python培訓

          400-111-8989

          學習python爬蟲需要具備的基本功

          • 發布:Python培訓
          • 來源:Python教程知識
          • 時間:2017-11-10 17:24

          一、python變量和數據類型

          創建變量意味著在內存中開辟一個空間,變量擁有不同的數據類型。基于變量的數據類型,解釋器會分配指定內存,并決定什么數據可以被存儲在內存中。因此,變量可以指定不同的數據類型,這些變量可以存儲整數,小數或字符。

          python五個標準的數據類型:

          Numbers(支持int、long、float、complex四種數字類型)

          String(從左到右索引默認0開始)

          List(用[ ]標識)

          Tuple(用( )標識,內部元素用逗號隔開)

          Dictionary(用"{ }"標識,由索引(key)和它對應的值value組成)

          1、Numbers:

          Python 支持四種不同的數值類型:

          整型- 通常被稱為是整型或整數,是正或負整數,不帶小數點。

          長整型 - 無限大小的整數,整數最后是一個大寫或小寫的L。

          浮點型- 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)

          復數 - 復數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 復數的實部a和虛部b都是浮點型。

          2、String:

          我們可以使用引號('或")來創建字符串,例如:

          var1="hello world"

          var2="hello beijing"

          訪問字符串中的值:

          print("var1[0]:",var1[0])

          print("var2[0:5]:",var2[0:5])

          顯示結果如下:

          3、List:

          列表中的每個元素都分配一個數字 。它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。創建一個列表,只要把逗號分隔的不同的數據項使用方括號括起來即可。如下所示:

          list1 = ['physics', 'chemistry', 1997, 2000];

          list2 = [1, 2, 3, 4, 5 ];

          list3 = ["a", "b", "c", "d"];

          訪問列表中的值:

          print("list1[0]: ", list1[0])

          print("list2[1:5]: ", list2[1:5])

          顯示結果如下:

          4、Tuple:

          元祖的創建,只要在括號中添加元素,并使用逗號隔開即可,如下示例:

          tup1 = ('physics', 'chemistry', 1997, 2000)

          tup2 = (1, 2, 3, 4, 5 )

          tup3 = "a", "b", "c", "d"

          訪問元組中的值:

          print("tup1[0]: ", tup1[0])

          print("tup2[1:5]: ", tup2[1:5])

          顯示結果如下:

          5、Dictionary:

          字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:

          dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

          訪問字典里的值:

          print("dict['Name']: ", dict['Name'])

          print("dict['Age']: ", dict['Age'])

          顯示結果如下:

          字典內置函數&方法:

          (1)keys()方法:

          dict = {'Name': 'Zara', 'Age': 7}

          print(dict.keys())

          顯示結果如下:

          (2)values()方法:

          dict = {'Name': 'Zara', 'Age': 7}

          print(dict.values())

          顯示結果如下:

          (3)items()方法:

          dict = {'Google': 'www.google.com', 'Runoob': 'www.runoob.com', 'taobao': 'www.taobao.com'}

          print(dict.items())

          # 遍歷字典列表

          for key, values in dict.items():

          print(key, values)

          顯示結果如下:

          二、python函數

          1、自定義函數:

          定義函數用def語句,依次寫出函數名、括號、括號中的參數和冒號,然后在縮進塊中編寫函數體,函數的返回值用return語句:

          def my_abs(x):

          if x>=0:

          return x

          else:

          return -x

          print(my_abs(5))

          print(my_abs(-88))

          顯示結果如下:

          2、函數的參數:(1)位置參數:如下所示,power(x,n),x和n就是位置參數,調用函數時,傳入的兩個值按照位置順序依次賦值給參數x和n:

          def power(x,n):

          s=1

          while n>0:

          n=n-1

          s=s*x

          return s

          print(power(5,3))

          顯示結果如下:

          (2)默認參數:如下所示,可以把第二個參數n的默認值設定為2,這樣,當調用power(5)時,相當于調用power(5,2)

          def power(x,n=2):

          s=1

          while n>0:

          n=n-1

          s=s*x

          return s

          print(power(6))

          顯示結果如下:

          (3)可變參數:我們以數學題為例,給定一組數字a,b,c...,請計算a^2+b^2+c^2+...

          def calc(numbers):

          sum=0

          for n in numbers:

          sum=sum+n*n

          return sum

          print(calc([1,2,3]))

          print(calc((1,3,4,6,7)))

          顯示結果如下:

          定義一個可變參數,只要在前面加上一個*號即可:

          def calc(*numbers):

          sum=0

          for n in numbers:

          sum=sum+n*n

          return sum

          print(calc(1,2,3))

          print(calc(1,3,4,6,7))

          顯示結果同上。

          (4)關鍵字參數:關鍵字參數允許你傳入0個或任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝為一個dict:

          def person(name,age,**kw):

          print('name:',name,'age:',age,'other:',kw)

          person('Michael', 30)

          person('Bob', 35, city='Beijing')

          person('Adam', 45, gender='M', job='Engineer')

          顯示結果如下:

          (5)參數組合:參數可以組合使用,但是參數定義的順序必須是:必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數。比如定義一個函數,包含上述若干種參數:

          def f1(a, b, c=0, *args, **kw):

          print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)

          def f2(a, b, c=0, *, d, **kw):

          print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)

          f1(1, 2)

          f1(1, 2, c=3)

          f1(1, 2, 3, 'a', 'b')

          f1(1, 2, 3, 'a', 'b', x=99)

          f2(1, 2, d=99, ext=None)

          顯示結果如下:

          所以,對于任意函數,都可以通過類似func(*args, **kw)的形式調用它,無論它的參數是如何定義的。

          要注意定義可變參數和關鍵字參數的語法:

          *args是可變參數,args接收的是一個tuple; **kw是關鍵字參數,kw接收的是一個dict。

          三、網頁解析

          1、正則表達式:

          扛把子技術,總得會最基礎的:

          拓展閱讀:

          (1)正則表達式 - 教程 | 菜鳥教程

          (2)正則表達式(RegEx)--快速參考

          (3)正則表達式在線測試

          2、XPATH:

          高效的分析語言,表達清晰簡單,參考:XPath 教程

          3、Beautifulsoup:

          一款神器,配合request、urllib等模塊,可以編寫各種小巧精干的爬蟲腳本。

          官網文檔:Beautiful Soup 4.2.0 文檔

          四、爬蟲進階

          1、常用模塊:

          urllib urllib2 requests

          2、好用的框架:

          scrapy

          3、動態頁面的爬取:

          selenium+scrapy

          4、遇到反爬蟲策略怎么辦:

          opencv

          打碼平臺

          5、數據庫:

          mysql

          sqllite

          mongodb

          6、數據分析:

          numpy

          pandas(基于numpy的數據分析模塊)

          7、進階技術:

          多線程、多進程、分布式

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:達內python培訓:Python其實是強類型
          下一篇:Python IDE不二之選:Pycharm

          Python中類的屬性有哪幾種

          Python語法你知道多少

          Python 中常見的配置文件寫法

          Python爬蟲可以做什么

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          网友自拍 偷拍 校园性爱青青草曰逼视屏老鸭窝国产偷自视频区视频 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>