Выборка данных с сайта, требующего данных POST? - PullRequest
1 голос
/ 23 ноября 2011

Есть очень простой веб-сайт, содержащий всего несколько элементов, из которых я хотел бы получить таблицу.Ранее я использовал file_get_contents ('http://www.example.com') для этой конкретной цели и извлек необходимую информацию с помощью команд explode и str_replace, которая работала нормально.

Однако этот сайт требует данные POST передон отобразит таблицу, в которой я нуждаюсь. Я знаю только имя и идентификатор полей выбора, через которые передаются данные, а также «значение параметра», которое мне нужно отправить.

Другая вещьв том, что второе поле выбора появляется только после того, как первое было обработано , очень похоже на то, что таблица появляется только после того, как опция была выбрана для обоих.

Как мне получить выборкутаблица?

Заранее спасибо!

Абстрактное (и некачественное) представление сайта, обслуживающего таблицу:

    <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.

Ответы [ 2 ]

3 голосов
/ 23 ноября 2011

Попробуйте с curl :

Здесь несколько примеров

1 голос
/ 23 ноября 2011

Я предполагаю, что сайт, который вы пытаетесь очистить, сохраняет значение первого выбора в сеансе после POST, чтобы заполнить / показать второй выбор.Это означает, что это невозможно сделать с помощью одного запроса.

Вам нужно будет использовать PHP-клиент Http, который поддерживает POST и Sessions / Cookies. Zend_Http_Client от ZendFramework поддерживает оба варианта, поэтому является хорошим кандидатом.

...