同じページに2つのフォームをbashのcurlで順番に送信したいと思います。http://en.wikipedia.org/w/index.php?title=Special:Exportには、2つのフォームが含まれています。1つはウィキペディアのカテゴリが指定されたページのリストに入力するためのもので、もう1つはそのリストのXMLデータをフェッチするためのものです。
bashでcurlを使用すると、最初のフォームを個別に送信して、ページフィールドが入力されたhtmlファイルを返すことができます(ただし、ウィキペディアサーバーではなくローカルであるため使用できません)。
curl -d "addcat=1&catname=Works_by_Leonardo_da_Vinci&curonly=1&action=submit" http://en.wikipedia.org/w/index.php?title=Special:Export -o "somefile.html"
そして、ページを指定しながら2番目のフォームを送信して、XMLを取得できます。
curl -d "pages=Mona_Lisa&curonly=1&action=submit" http://en.wikipedia.org/w/index.php?title=Special:Export -o "output.xml"
...しかし、2つのステップを手動で実行した場合のように、2つのステップを組み合わせる方法、または一方を他方にパイプして、カテゴリ内のすべてのページのXMLを返す方法を理解できません。http://www.mediawiki.org/wiki/Manual:Parameters_to_Special:Exportは、これが可能であることを示唆しているようです。何か案は?curlやbashを使用する必要はありません。