python爬蟲入門-urllib的基本使用

前言

python之所以強大主要是因爲他有許多的開源庫可以使用,爬蟲的庫就有很多,具體可以自行了解一下。

爲了方便我們這次使用的IDE就是用sublime text 3 ,sublime text 3並不支持python程序,所以我們需要配置一下。具體配置教程請查看sublime text 3 打造成python IDE 環境

學習python爬蟲當少不了,python的一些基礎。
可以在通過如下方式進行學習:

(1)廖雪峯Python3教程(文檔):
這個也是我的入門教程
URL:http://www.liaoxuefeng.com/

(2)菜鳥教程Python3教程(文檔):
URL:http://www.runoob.com/python3/python3-tutorial.html

(3)魚C工作室Python教程(視頻):
小甲魚老師很厲害,講課風格幽默詼諧,如果時間充裕可以考慮看視頻。
URL:http://www.fishc.com/

urllib簡介

在Python 2中,有urllib和urllib2兩個庫來實現請求的發送。而在Python 3中,已經不存在urllib2這個庫了,統一爲urllib,其官方文檔鏈接爲:https://docs.python.org/3/library/urllib.html

首先,瞭解一下urllib庫,它是Python內置的HTTP請求庫,也就是說不需要額外安裝即可使用。它包含如下4個模塊:

request:最基本的HTTP請求模塊,可用來模擬發送請求。傳入URL以及額外的參數就可以實現想瀏覽器那樣訪問網站
error:異常處理模塊,請求錯誤時,我們可以捕獲這些異常,在進行重試以保證程序不意外終止
parse:一個工具模塊,提供URL處理方法,比如拆分,解析,合併
robotparser:主要用來識別網站的robots.txt文件,然後判斷哪些網站可以爬,用得少。

我們主要用的就前三個。

爬蟲的簡單實例

使用urllib.request.urlopen()可以輕鬆打開一個網站並獲取源碼。

urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

urlopen有幾個默認的參數具體可查看官方文檔

瞭解了這些信息後,我們就可以寫一個簡單的爬蟲小程序,在sublime text中新建一個urllib_test.py的文件輸入如下代碼:

rom urllib import request
response = urllib.request.urlopen('https://www.python.org')
html = response.read()
html = html.decode("utf-8")
print(html)

urllib使用equest.urlopen()打開和讀取URL信息,返回的對象response如同一個文本對象,我們可調用read方法進行讀取,decode(“utf-8”)將編碼換成通用的utf-8.然後利用print函數將其打印出來。

上圖就是我們利用python寫的一個簡單的小爬蟲,爬取下來的網頁源碼。

其實這些源碼就是瀏覽器接收到https://www.python.org這個網站服務發送的內容,只不過通過瀏覽器解析後將這些代碼轉換成了界面信息給我們瀏覽
當然這些源碼信息我們用瀏覽器的審查元素也可以到,例如我們使用谷歌瀏覽器在頁面右鍵選擇檢查,也就是審查元素(不是所有頁面都可以審查元素的,例如起點中文網付費章節就不行.)

結語

感覺啥都沒寫不知不覺就0點了,只有自己寫才能體會別人每篇文章寫出來都不容易呀,寫文章真的很耗時間,但是能讓人印象更深。時間不早啦,今天就寫這麼多了,後面還有更好玩的等着我去學習呢!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章