Python爬蟲:Urllib庫的基本使用

1.抓取一個網頁

抓取網頁就是根據URL來獲取它的網頁信息:安全

# -*- coding:utf-8 -*-
import urllib

# urllib.request 請求模塊
response = urllib.request.urlopen("http://www.baidu.com")
print(response.read())

在vscode中按F5執行後結果如圖:
post

這樣網頁就被抓去下來了。~~~~~~~~url

urlopen通常經常使用的有三個參數,它的參數以下:
urllib.requeset.urlopen(url,data,timeout)
response.read()能夠獲取到網頁的內容spa

2.POST和GET數據傳送

數據傳送分爲POST和GET兩種方式,兩種方式有什麼區別呢?code

最重要的區別是GET方式是直接以連接形式訪問,連接中包含了全部的參數,固然若是包含了密碼的話是一種不安全的選擇,不過你能夠直觀地看到本身提交了什麼內容。POST則不會在網址上顯示全部的參數,不過若是你想直接查看提交了什麼就不太方便了,你們能夠酌情選擇。blog

POST方式:utf-8

# -*- coding: UTF-8 -*-
"""
POST 演示
"""
import urllib

# 設置參數
params = {'word':'hello'}
#經過bytes(urllib.parse.urlencode())將post數據進行轉換
data = bytes(urllib.parse.urlencode(params), encoding='utf-8')
url = 'http://httpbin.org/post'
response = urllib.request.urlopen(url, data)
print(response.read())

GET方式:get

至於GET方式咱們能夠直接把參數寫到網址上面,直接構建一個帶參數的URL出來便可。import

# -*- coding: UTF-8 -*-
"""
GET方式演示
"""
import urllib

values = {}
values['wd'] = 'word'
data = urllib.parse.urlencode(values)
url = 'http://www.baidu.com/s'
getUrl = url + '?' + data
print(getUrl)
response = urllib.request.urlopen(getUrl)
print(response.read())
相關文章
相關標籤/搜索