0
我正在創建一個網站刮板。有一種表單用於更改當前頁面。Ruby Net :: HTTP :: Post提交表格
這是我爲POST請求提交表單的方式,但它似乎一次又一次地提取相同的頁面。
下面是一些示例代碼:
pages = {
"total_pages" => 19,
"p1" => '1234/1456/78990/123324345/12143343214345/231432143/12432412/435435/',
"p2" => '1432424/123421421/345/435/6/65/5/34/3/2/21/1243',
..
..
..
}
idx = 1
p_count = pages["total_pages"]
#set up the HTTP request to change pages to get all the auction results
uri = URI.parse("http://somerandomwebsite.com?listings")
http = Net::HTTP.new(uri.host, uri.port)
req = Net::HTTP::Post.new(uri.request_uri)
p_count.times do
puts "On loop sequence: #{idx}"
pg_num = "p#{idx}"
pg_content = pages["#{pg_num}"]
req.set_form_data({"page" => "#{pg_num}", "#{pg_num}" => "#{pg_content}"})
response = http.request(req)
page = Nokogiri::HTML(response.body)
idx = idx + 1
end
它看起來像page
永遠不會改變。有沒有辦法看到每次我想要確保正確的參數都通過時,完整的請求是什麼樣的?似乎幾乎不可能確定有關req
的任何內容。
請閱讀「[mcve]」。你的代碼不會運行,我們必須改變它來測試以確定問題。這浪費了我們的時間。我建議不要使用Net :: HTTP,而應使用Ruby中存在的許多HTTP客戶端之一。如果你正在發明一種新的服務器類型,Net :: HTTP非常棒,但對於正常的HTTP工作來說,它是非常低級的,特別是當你只是請求頁面時。至於看到請求,http://httpbin.org可能非常有用。 –