1. 程式人生 > >Python爬蟲中的Get和Post方法

Python爬蟲中的Get和Post方法

通俗的說,Get是直接請求、開啟,Post是請求、對方通過後才能開啟。

Get和Post最重要的區別是,Get方式是直接一連結形式訪問,連結中包含了所有的引數,當然如果包含了密碼什麼的是不安全的,不過你可以直觀的看到自己提交的內容。

Post則不會再網址上顯示所有引數,不過如果你想直接檢視提交了什麼就不太方便了。可以根據自己的需要酌情選擇。

以下是典型的Post方式

import urllib
import urllib2

url = "https://www.baidu.com/"

value = {}
value['username'] = 'Alice'
value['password'] = '111'
data = urllib.urlencode(value)

req = urllib2.Request(url, data)
response = urllib2.urlopen(req)

print response.read()

以下是典型的Get方式

import urllib
import urllib2

url = "https://www.baidu.com/"
value = {}
value['username'] = 'Alice'
value['password'] = '111'
data = urllib.urlencode(value)
geturl = url + "?" + data

req = urllib2.Request(geturl)
response = urllib2.urlopen(req)

print response.read()

此處與上面的不同是有了個 geturl,它是把原來的 url 加 ? 加 編碼後的引數。

所以會再網址上顯示所有引數。