2009-04-21 50 views
0

私は初心者ですし、毎日違うことを試して、何かにこだわっているといつもここに来ます。選択ボックスからオプションを選択して自動送信するCurl関数

このリンクに行くcurlとphpを使用してスクリプトを書いてみましょう:http://tools.cisco.com/WWChannels/LOCATR/openBasicSearch.do各国の各パートナーのリストをキャプチャし、データベースに保存します。

私はスクリプトが各国を選択ボックスから選択し、ページを国のページにリダイレクトする方法は考えていません...一番最初にやるべきことは、一度はページ上にあるパターンマッチングは、私が管理できるデータベースの名前と住所。

問題は、我々はどの国のURLを選択する前に:: http://tools.cisco.com/WWChannels/LOCATR/BasicSearch.do であり、我々は国が「インドのURLがあると言う選択した後:http://tools.cisco.com/WWChannels/LOCATR/performBasicSearch.do、選択したいずれかの国への言及はありません。

私が持っていたアイデアは、HTMLページを横断して配列内のすべての国を入力し、特定の国のページを呼び出す再帰関数を作成しましたが、再帰的に各国のURLが異なる機能は正しい?

答えて

2

あなたのURLが台無しにされたので、私はあなたが話している正確なページを見ることができない、しかし何最も可能性が高いが起こっていることは、あなたが国を変更する場合、ウェブサイトを作っているということです助けてくださいPOST同じページに のように、あなたが選択した国名/国IDの値を持つcountry(これは他のものかもしれません)のような変数でリクエストしてください。ページでソースを表示すると、渡されている入力フィールドの名前を見ることができます。あなたのカールを作りながら要求し、それを行うたら、そのように読み取る、cuRL optionCURLOPT_POSTFIELDSの設定することができます。

完全なデータをHTTP「POST」の操作で投稿します。ファイルを投稿するには、ファイル名の前に@を付け、完全なパスを使用します。これは、 'para1 = val1 & para2 = val2 & ...'のようなURLエンコードされた文字列として渡すか、キーとしてのフィールド名と値としてのフィールドデータを持つ配列として渡すことができます。

$ch = curl_init('http://tools.cisco.com/WWChannels/LO...BasicSearch.do'); 
$ch = curl_setopt($ch, CURLOPT_POSTFIELDS, array('country' => 'India')); 
$ch = curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$contents = curl_exec($ch); 
curl_close($ch); 

は、私が言ったように、しかし、国は=>それのインドの一部は、どのようなフィールドがかもしれないのと推測です:

だから、心の中でそれを維持することは、あなたがこのような何かをするだろう合格する。あなたはあなた自身のためにHTMLを調べなければなりません。

1

自動化/スクレイピングの場合は、SimpleBrowserなどの仮想ブラウザーを使用することをお勧めします。これはSimpleTestの一部ですが、あなたはそれを単独で使用することができます。

関連する問題