*很抱歉,很长的帖子* 我在 PHP 中使用 cURL 来处理post
一些表单字段,以便返回post
需要一些帮助的结果,因为表单有点不寻常。
卷曲脚本
$ch = curl_init();
$data = array('field_1_name' => 'field_value',
'field_2_name' => 'field_value',
'field_3_name' => 'field_value',
);
curl_setopt($ch, CURLOPT_URL,'http://url.com');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$fp = fopen('data.php', 'w');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec ($ch);
curl_close ($ch);
fclose($fp);
你应该知道的事情
- 这些字段不是和字段
text-fields
的组合。radio
dropdown
- 表单包含
JS
但萤火虫控制台不显示AJAX
帖子 - 而是表单与SESSIONS
数据HTTP-CACHE
一起使用。 - 选择表单字段后,页面似乎
reload
会插入并插入下一个下拉列表的值。(同样,萤火虫没有将其显示为AJAX
请求。)
dropdown
这是表单上的字段示例
<select name="field_name" onchange="document.getElementById('uploadForm').action.value='RELOAD';document.getElementById('uploadForm').reloadTrigger.value='trigSize';document.getElementById('uploadForm').submit();">
<option value="option_1">option_1</option>
<option value="option_2">option_2</option>
<option value="option_3">option_3</option>
</select>
请注意onChange
触发重新加载页面的事件,该页面使用 nextdropdwon
及其各自的options
.
我想要完成的事情
每个dropdown
字段都包含各种选项。根据表单上选择的组合,最终页面重新加载会根据这些选择的选项返回一个价格。我需要将价格和选择的选项保存到我的数据库中。
所以我的数据库看起来像这样:
option_1 | option_2 | option_3 | price |
field_1 | field_2 | field_3 | 25 |
我将所有这些信息都包括在内,因为有经验的人可能会为我指明更好的方向(意思是:嘟嘟/图书馆/教程/等)我不确定是否cURL
适合这份工作。我更喜欢与PHP
. 那你们怎么看?感谢您的时间和建议。我欢迎并感谢所有有用的信息。
--旁注--我在RUBY
使用WATIR-WebDriver
中编写了一个脚本,该脚本成功地抓取了信息,但是工作速度太慢了。每个产品平均有 5,000 种不同的组合,而这种方法每分钟只返回 10 种左右。(失败)
编辑 1
只是为了澄清。此表格不在我的服务器上,也不归我所有或操作。我打算抓取表单返回的数据。