2

私はプログラミングの「初心者」の前に来るものは何でもです。私はExcel用のVBAでマクロを作成し、若い頃はVisual Studioを少し使用していましたが、それだけです。

私の問題:仕事で必要なレポートを作成するには、会社のイントラネット上のユーザーフレンドリーなクエリフォームの背後に保存されているデータを抽出する必要があります。これを除いて、レポートの他のすべての部分を自動化しました。このウェブページにアクセスし、クエリフォームにプリセット値を入力して、出力されたデータを返すプログラムを作成したいと思います。私の友人であるコンピューター科学者と話し合ったところ、Haskell(彼が選んだ言語)でこれを行うのは簡単だとのことでした。しかし、私はベテランではないので、自分のレベルに少し近い言語を学びたいと思っています...Pythonは良い賭けのようです。

私の質問:Pythonでこのタイプのデータ抽出を行うことは可能ですか?それはどれほど難しいでしょうか、そしてそれについて自分自身に教えるための良いリソースは何ですか?

私はいくつかの調査を行い、Scrapyを思いつきましたが、それがフォームに入力されているかどうかはわかりません。また、これに適した他の言語があれば、それを聞いてうれしいです。

4

3 に答える 3

1

最も簡単な方法は、urllib2を使用することです。通常、フォームへの引数はサーバーに転送されるため、URLでとして表示されます?foo=bar&bla=blah。urllib2.urlencodeを使用して、フォームへの引数を生成できます。

Pythonとurllib2:パラメーターを使用してGETリクエストを作成する方法

初心者の場合、あなたは自分の考えを非常に明確に定式化します、おめでとうございます。

于 2012-09-14T13:05:43.857 に答える
1

HTTP に関するいくつかの基本的なチュートリアルを読むことから始めます。フォームは基本的に、データを収集するための視覚的な方法です。フォームの本質は、ブラウザがそのフォーム データに対して行うリクエストです。

したがって、「フォームへの入力」は実際には必要ありません (複雑になる可能性があるため、そうでないことを願っています)。必要なのは、そのフォームが実際にブラウザーに対して行う要求を学習し、それをエミュレートすることです。これを行うための非常に簡単な方法は、chrome 開発者ツールまたは firebug と呼ばれる Firefox 拡張機能を使用することです。これらのそれぞれは、フォームを含むすべてのネットワーク トラフィックを表示する方法を提供します。

たとえば、データとレポート タイプを送信する必要があるフォームがある場合、実際の Web リクエストは次のようになります。

?date=2012-09-12&type=overview

したがって、基本的には、そのデータを使用して URL への http リクエストを作成する方法を見つける必要があります。これは些細な作業であり、ほとんどすべての言語にこれを行う方法があります。

pythonでこれを行うことは非常に可能です。そこには豊富なチュートリアルがあります。Python には、 http://docs.python.org/library/urllib.htmlに役立つ標準ライブラリに組み込まれた URL ライブラリがあり ます。

urllib2 を使用するたびに、通常はhttp://www.voidspace.org.uk/python/articles/urllib2.shtmlに行き着きます

于 2012-09-14T13:02:23.543 に答える
0

と を組み合わせるloginformscrapy、フォームへの入力と Web ページのクロールを自動化できます。ここにそれに関するチュートリアルがあります。http://blog.scrapinghub.com/2012/10/26/filling-login-forms-automatically/

于 2014-05-31T08:14:19.227 に答える