抓取網頁就是根據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
數據傳送分爲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())