欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3爬蟲學(xué)習(xí)入門教程

 更新時間:2018年12月11日 14:14:06   作者:Sailfish23  
這篇文章主要介紹了Python3爬蟲學(xué)習(xí)入門,簡單介紹了Python3爬蟲的功能、原理及使用爬蟲爬取知乎首頁相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python3爬蟲相關(guān)入門知識。分享給大家供大家參考,具體如下:

在網(wǎng)上看到大多數(shù)爬蟲教程都是Python2的,但Python3才是未來的趨勢,許多初學(xué)者看了Python2的教程學(xué)Python3的話很難適應(yīng)過來,畢竟Python2.x和Python3.x還是有很多區(qū)別的,一個系統(tǒng)的學(xué)習(xí)方法和路線非常重要,因此我在聯(lián)系了一段時間之后,想寫一下自己的學(xué)習(xí)過程,分享一下自己的學(xué)習(xí)經(jīng)驗,順便也鍛煉一下自己。

一、入門篇

這里是Python3的官方技術(shù)文檔,在這里需要著重說一下,語言的技術(shù)文檔是用來查的,不是用來學(xué)習(xí)的,真的沒必要把文檔背下來,這樣學(xué)習(xí)效率真的很低,不如片學(xué)邊做,在實踐中才會學(xué)到東西,不然即使你背會了文檔,你仍然很難做出什么項目來,我當(dāng)初就是在這上面,走了很多彎路,在這里推薦W3cscjool里面的教程非常不錯,學(xué)習(xí)與實踐相結(jié)合。

1. 少廢話,先看東西

第一個例子:爬取知乎首頁源碼。

#-*-coding:utf-8 -*-
import urllib.request
url = "http://www.zhihu.com"
page_info = urllib.request.urlopen(url).read()
page_info = page_info.decode('utf-8')
print(page_info)

運行結(jié)果:

運行之后,在IDLE shell里面知乎網(wǎng)站首頁的源代碼就會被讀出來啦Blahblahblah~~~

爬蟲定義:

網(wǎng)絡(luò)爬蟲(Web Spider),又被稱為網(wǎng)頁蜘蛛,是一種按照一定的規(guī)則,自動地抓取網(wǎng)站信息的程序或者腳本。

簡介:

網(wǎng)絡(luò)蜘蛛是一個很形象的名字。如果把互聯(lián)網(wǎng)比喻成一個蜘蛛網(wǎng),那么Spider就是在網(wǎng)上爬來爬去的蜘蛛。網(wǎng)絡(luò)蜘蛛是通過網(wǎng)頁的鏈接地址來尋找網(wǎng)頁,從 網(wǎng)站某一個頁面開始,讀取網(wǎng)頁的內(nèi)容,找到在網(wǎng)頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個網(wǎng)頁,這樣一直循環(huán)下去,直到把這個網(wǎng)站所有的網(wǎng)頁都抓取完為止。

爬蟲流程:

①先由urllib的request打開Url得到網(wǎng)頁html文檔——②瀏覽器打開網(wǎng)頁源代碼分析元素節(jié)點——③通過Beautiful Soup(后面會講到)或則正則表達(dá)式提取想要的數(shù)據(jù)——④存儲數(shù)據(jù)到本地磁盤或數(shù)據(jù)庫(抓取,分析,存儲)

urllib和urllib2

python2.x里urllib2庫,在python3.x里,urllib2改名為urllib,被分成一些子模塊:urllib.request, urllib.parseurllib.error。盡管函數(shù)名稱大多數(shù)和原來一樣,但是在用新的urllib庫時需要注意哪些函數(shù)被移動到子模塊里了。
urllib是python的標(biāo)準(zhǔn)庫,包含了從網(wǎng)絡(luò)請求數(shù)據(jù),處理cookie,甚至改變像請求頭和用戶代理這些元數(shù)據(jù)的函數(shù)。
urlopen用來打開并讀取一個從網(wǎng)絡(luò)獲取的遠(yuǎn)程對象。它可以輕松讀取HTML文件、圖像文件或其他任何文件流。

url = "http://www.zhihu.com"
page_info = urllib.request.urlopen(url).read()

urllib.request是urllib的一個子模塊,可以打開和處理一些復(fù)雜的網(wǎng)址

decode('utf-8')用來將頁面轉(zhuǎn)換成utf-8的編碼格式,否則會出現(xiàn)亂碼

page_info = page_info.decode('utf-8')
print(page_info)

urllib.request.urlopen()方法實現(xiàn)了打開url,并返回一個 http.client.HTTPResponse對象,通過http.client.HTTPResponse的read()方法,獲得response body,轉(zhuǎn)碼最后通過print()打印出來.

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • python實現(xiàn)漢諾塔算法

    python實現(xiàn)漢諾塔算法

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)漢諾塔算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Python實戰(zhàn)之手寫一個搜索引擎

    Python實戰(zhàn)之手寫一個搜索引擎

    這篇文章主要介紹了Python實戰(zhàn)之手寫一個搜索引擎,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • python hough變換檢測直線的實現(xiàn)方法

    python hough變換檢測直線的實現(xiàn)方法

    這篇文章主要介紹了python hough變換檢測直線的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 淺談pytorch、cuda、python的版本對齊問題

    淺談pytorch、cuda、python的版本對齊問題

    今天小編就為大家分享一篇淺談pytorch、cuda、python的版本對齊問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python中的閉包總結(jié)

    Python中的閉包總結(jié)

    這篇文章主要介紹了Python中的閉包總結(jié),本文講解了閉包的概念、為什么使用閉包、使用閉包實例等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • python爬蟲神器Pyppeteer入門及使用

    python爬蟲神器Pyppeteer入門及使用

    這篇文章主要介紹了python爬蟲神器Pyppeteer入門及使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Python中l(wèi)ogging日志模塊代碼調(diào)試過程詳解

    Python中l(wèi)ogging日志模塊代碼調(diào)試過程詳解

    這篇文章主要介紹了Python中l(wèi)ogging日志模塊代碼調(diào)試,今天來看看如何在代碼中定義日志,并探討日志的權(quán)限,需要的朋友可以參考下
    2023-04-04
  • 詳解基于python的全局與局部序列比對的實現(xiàn)(DNA)

    詳解基于python的全局與局部序列比對的實現(xiàn)(DNA)

    這篇文章主要介紹了詳解基于python的全局與局部序列比對的實現(xiàn)(DNA).文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python中常見的KeyError報錯分析

    Python中常見的KeyError報錯分析

    在Python編程中,KeyError是一種非常常見的異常,它通常發(fā)生在嘗試訪問字典中不存在的鍵時,本文將深入探討KeyError的報錯原因、解決辦法,并通過代碼示例來演示如何避免這一錯誤,需要的朋友可以參考下
    2024-07-07
  • django filters實現(xiàn)數(shù)據(jù)過濾的示例代碼

    django filters實現(xiàn)數(shù)據(jù)過濾的示例代碼

    這篇文章主要介紹了django filters實現(xiàn)數(shù)據(jù)過濾的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05

最新評論