1

wget を使用してこのページの結果を取得したいhttp://smart.embl-heidelberg.de/smart/batch.pl

そのページの「テキストのみの出力」をクリックし、「識別子」のファイルを次の内容のファイルとして指定します。

A0A183

次に、[クエリを送信] をクリックすると、結果ページが表示されます。結果ページをダウンロードするには、どうにかして --post-data オプションを wget に提供する必要があることはわかっています。しかし、このオプションがどうあるべきかを理解するのは困難です。誰かがそれを理解する方法を教えてもらえますか? (Chrome Devtools Network タブを試してみましたが、そこから --post-data オプションを取得できるかどうかわかりません)。

私も次のことを試しました。しかし、空の出力ファイルが生成されました。

~$ cat /tmp/000.txt
A0A183
~/linux/test/perl/library/WWW/Mechanize/bin/mech-dump$ mech-dump --forms http://smart.embl-heidelberg.de/smart/batch.pl

GET http://smart.embl-heidelberg.de/smart/search.cgi
  keywords=keywords...           (text)
  <NONAME>=Search SMART          (submit)

POST http://smart.embl-heidelberg.de/smart/batch.pl (multipart/form-data)
  IDS=                           (textarea)
  SEQS=                          (textarea)
  IDFILE=                        (file)
  SEQFILE=                       (file)
  TEXTONLY=<UNDEF>               (checkbox) [*<UNDEF>/off|1/Text-only output]
  LOOSE=<UNDEF>                  (checkbox) [*<UNDEF>/off|1/Substring matching for identifiers]
  DO_PFAM=<UNDEF>                (checkbox) [*<UNDEF>/off|DO_PFAM/include PFAM domains]
  INCLUDE_SIGNALP=<UNDEF>        (checkbox) [*<UNDEF>/off|INCLUDE_SIGNALP/include signal peptides]
  <NONAME>=<UNDEF>               (submit)
  <NONAME>=<UNDEF>               (reset)

~$ wget --post-data='IDFILE=/tmp/000.txt&TEXTONLY=1' http://smart.embl-heidelberg.de/smart/batch.pl
4

2 に答える 2

2

どうですか:

wget --post-data='IDS=A0A183&TEXTONLY=1' http://smart.embl-heidelberg.de/smart/batch.pl
于 2013-07-21T05:46:44.843 に答える
0

これは古いことは知っていますが、wgetで動作する回答を得ました。

wget 1.13.4 以降。この投稿を確認してください: https://superuser.com/questions/86043/linux-command-line-tool-for-uploading-files-over-http-as-multipart-form-data

wget --header="Content-type: multipart/form-data boundary=FILEUPLOAD" --post-file 000.txt http://smart.embl-heidelberg.de/smart/batch.pl

000.txt

--FILEUPLOAD
Content-Disposition: form-data; name="IDS"


--FILEUPLOAD
Content-Disposition: form-data; name="SEQS"


--FILEUPLOAD
Content-Disposition: form-data; name="IDFILE"; filename="000.txt"
Content-Type: text/plain

A0A183
A0A182
--FILEUPLOAD
Content-Disposition: form-data; name="SEQFILE"; filename=""
Content-Type: application/octet-stream


--FILEUPLOAD
Content-Disposition: form-data; name="TEXTONLY"

1
--FILEUPLOAD--
于 2015-10-17T05:21:42.813 に答える