使用Ruby機械化我已成功提交輸入值的形式和我能夠根據搜索條件,以獲得最終頁面HREF鏈接。由此產生的頁面有PDF文件作爲我需要下載的ahref鏈接。 屬性HREF具有值:下載PDF文件是使用紅寶石機械化
HREF ='xxx.do FILENAME =路徑/ abc.pdf & SEARCHTEXT = AAA & ID = 123_4
其中SEARCHTEXT是輸入的文本作爲輸入最初?。當我手動點擊鏈接pdf時,在 網址爲http://someip:8080/xxx/temp/123_4的新窗口中打開,這是在href屬性中看到的相同ID。但實際的文件名不同,格式爲xxx.123_2_.doc。我下面的代碼返回0字節的文件 -
scraper.pluggable_parser.pdf = Mechanize::FileSaver
File.open('n1pdf.pdf', 'wb'){|f| f << scraper.get(alink).body}
其中ALINK = http://someip:8080/xxx/temp/123_4 如果我使用
File.open("new.pdf", "w") do |f|
uri = URI(alink)
f << Net::HTTP.get(uri)
end
我得到HTTP未找到錯誤。 我不知道如果我這樣做是正確的。是ID處理動態生成的,因爲所得到的頁面上的所有的PDF文件具有該ID與_1/2/3作爲文件名(或URL)的會話ID。
請注意,每當我手動點擊並打開一個PDF文件,然後鐵桿,在我的代碼的文件下載,但沒有當我的代碼中動態提取ID值,並分配給ALINK。不確定這是否與Cookie相關。請幫助。謝謝。
謝謝。有用 – user6733460