Ruby Mechanizeを使用して入力値をフォームに正常に送信し、検索条件に基づいて結果のページを取得できました。結果のページには、ダウンロードする必要のあるahrefリンクとしてのpdfファイルがあります。 HREF属性は値を持っています?検索テキストは、テキストが最初に入力として入力さruby mechanizeを使用したhrefリンクのPDFファイルをダウンロード
HREF = 'xxx.do FILENAME =パス/ abc.pdf &検索テキスト= AAA & ID = 123_4
。私が手動でリンクをクリックすると、http://someip:8080/xxx/temp/123_4という というURLを持つ新しいウィンドウにpdfが開きます。このIDは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ファイルがファイル名(またはURL)として_1/2/3のIDを持つため、動的に生成されるセッションIDです。
私は手動でクリックしてpdfファイルを開いてからハードコードするとファイルがダウンロードされますが、コードが動的にID値を抽出してalinkに割り当てたときは表示されません。これがクッキーに関連しているかどうかは不明です。親切に助けてください。ありがとうございました。
ありがとうございました。できます – user6733460