網站內容依然很單純,大標題告訴我們 : 「Tell me your name !」
既上次學到的操作,我們一樣在瀏覽器按下 F12
接著就按照它的指示,告訴它我們的名字吧
Nakano Yotsuba (中野 四葉 / なかの よつば),我填了老婆的名字
我們輸入了兩個欄位,然後提交了表單,請求伺服器處理我們的資料
從「提交」兩字就可以猜到是 POST 行為了
而我們的回應就是第二張圖,Hello there, Nakano Yotsuba !
可見我們帶入什麼字串,就會回應一個 Hello there, ... !
接下來只要知道封包中那兩個資料欄位名稱,就可以偽造請求了
滾輪往下拉即可見 Form Data,這就是我們 POST 行為送出的表單
接下來我們要用爬蟲偽造個一模一樣的 Request
import requests
params = {'firstname' : 'Nakano', 'lastname' : 'Yotsuba'}
response = requests.post('http://pythonscraping.com/pages/files/processing.php', data = params)
print(response.text) |
執行結果
requests 裡面有很多屬性,data 只是其中之一,用來傳入 Form Data 用的
form.html 這個網頁只是提供一個使用者介面
按下 Submit 就把表單 POST 到 processing.php
不過 params 就已經把表單填好了,算是繞過 form.html 這關
直接偽造對 processing.php 的 POST 請求