Python 3 爬蟲(一) 簡單的爬蟲

2021-08-05 22:20:44 字數 1377 閱讀 1414

url 組成部分:

protocol :// hostname[:port] / path /

protocol:協議

hostname[:port] :主機名,埠名為可選引數

path:主機資源的具體位置

網域名稱和伺服器名
e.g.  www.baidu.com

baidu.com:網域名稱

www:伺服器名

官方文件

- urllib.request        用於開啟讀取和讀取urls的操作

- urllib.error 包含由使用urllib.request產生的錯誤,可用try進行捕捉處理

- urllib.parse 用於解析urls

- urllib.robotparser 用於解析robots.txt文字檔案

urllib.request 具體使用

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

此介面函式用於開啟和處理urls資訊,返回的物件response如同乙個文字物件。注意,我們可以呼叫read(),進行讀取。再通過print(),將讀到的資訊列印出來。

瀏覽器就是作為客戶端從伺服器端獲取資訊,然後將資訊解析,再展示給我們的。

我們已經成功獲取了資訊,但是顯然他們都是二進位制的亂碼,看起來很不方便。我們怎麼辦呢?

我們可以通過簡單的decode()命令將網頁的資訊進行解碼,並顯示出來,

# -*- coding: utf-8 -*-

from urllib import request

if __name__=="__main__":

url = ""

response = request.urlopen(url)

data=response.read()

data=data.decode("utf-8")

print(data)

from urllib import request 和 import urllib區別

本質上和功能上沒有區別,區別體現在呼叫的時候

使用 from urllib import request 在後面呼叫的時候可以只用response = request.urlopen(url) 而 使用 import urllib 在後面呼叫的時候要寫成 response = urllib.request.urlopen(url)

python3爬蟲學習(一)

剛簽完offer沒事幹,之前斷斷續續學過一點爬蟲,又想著再次學習一下,希望這次能堅持下來,好好的學習。爬蟲 顧名思義,在整個網路系統中,像蜘蛛一樣,爬啊爬啊,每到乙個節點,就記錄該節點的資料,以及是否訪問過。所謂的節點,在網路中就是我們常說的 整個爬蟲的過程就類似於廣度優先搜尋 bfs 乙個網路。實...

Python3爬蟲入門 一

python3爬蟲入門 在瀏覽器的位址列輸入url位址,在網頁處右鍵單擊,找到檢查。不同瀏覽器的叫法不同,chrome瀏覽器叫做檢查,firefox瀏覽器叫做檢視元素,但是功能都是相同的 可見即可爬 技術上 違法的 擦邊球 一 url 專業一些的叫法是統一資源定位符 uniform resource...

Python3爬蟲 鬥魚彈幕爬蟲

在網上找到了乙份鬥魚彈幕伺服器第三方接入協議v1.6.2,有了第三方介面,做起來就容易多了。鬥魚後台協議頭設計如下 這裡的訊息長度是我們傳送的資料部分的長度和頭部的長度之和,兩個訊息長度是一樣。然後要注意的是該協議使用的是小端整數,所以我們要對資料進行處理後再傳送,這裡可以使用int.to byte...