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...