2011-11-23 112 views
1

有一個非常簡單的網站,其中只包含我想要檢索表格的幾個元素。之前我爲此目的使用了file_get_contents('http://www.example.com'),並通過explode和str_replace命令提取了我需要的信息,這些信息運行良好。從需要POST數據的站點獲取數據?

但是,本網站需要POST數據才能顯示我需要的表格。我只知道提交數據的選擇框的名稱和ID,以及我需要提交的「選項值」。

另一件事是,一旦第一個已經處理過,很像表只出現一次的選項已被選定爲這兩個第二個選擇框纔會出現。

我該如何去獲取表格?

在此先感謝!

摘要(差)服務表中的網站表示:

<select id='select_box_1' name='first select box'> 
     <option value='option1_1'>Thing one</option> 
     <option value='option1_2'>Second thing</option> 
     <option value='option1_3'>Thing number three</option> 
    </select> 

    NOTE: Selecting an option will spawn: 

    <select id='select_box_2' name='second select box'> 
     <option value='option2_1'>First thing</option> 
     <option value='option2_2'>Second choice</option> 
     <option value='option2_3'>The third option</option> 
    </select> 

    NOTE: Selecting an option will spawn the table I need. 

回答

3

嘗試用curl

Here是一些例子

+0

謝謝,(注意自己:)這個網頁進一步解釋瞭如何使用curl發送POST請求:http://www.html-form-guide.com/php-form/php-form-submit.html – Chris

1

我的猜測是,該網站你試圖抓取在POST之後將第一個select的值存儲在會話中以填充/顯示第二個select。這意味着它不能用一個請求來完成。

您必須使用支持POST和Sessions/Cookies的PHP Http客戶端。來自ZendFramework的Zend_Http_Client支持這兩個,所以是一個很好的候選人。

+0

謝謝你你的回覆。有沒有辦法找出頁面是否使用會話,除了看看curl是否工作? – Chris