有一个非常简单的网站,其中只包含一些我想要检索表格的元素。以前我已经将file_get_contents('http://www.example.com')用于这个目的,并通过explode和str_replace命令提取了我需要的信息,这些命令运行正常。
但是,此网站需要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.
答案 0 :(得分:3)
答案 1 :(得分:1)
我的猜测是,您尝试抓取的网站是在POST后填充/显示第二个选择的会话中存储第一个选择的值。这意味着无法通过单个请求完成。
您必须使用支持POST和会话/ Cookie的PHP Http客户端。来自ZendFramework的Zend_Http_Client支持两者,因此是一个很好的候选者。