Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
23 / 23 / 12
Регистрация: 25.03.2015
Сообщений: 98
1

CURL. Расширение возможности другого сайта

25.03.2015, 17:45. Показов 1596. Ответов 3
Метки нет (Все метки)

Дано:
http://www.ros-med.info/region... ction=page - данный ресурс предоставляет возможность поиска медикаментов только по именованию(например, Натрия хлорид). Этого не достаточно.
Что хочу сделать:
У меня есть свой сайт, на котором я хочу реализовать расширенный поиск по медикаментам (как минимум по форме выпуска + автоматический по ценам).

Это мой первый проект как то связанный с web (а не desktop).
Нашел то, что очень даже подходит, функция CURL (получаю результаты поиска по наименования + парсинг + необходимые вычисления и вывожу уже конечный результат пользователю).

Но увы, по найденным примерам я получаю только форму сайта без результатов поиска.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
$data = array(
    'search' => 'Натрия хлорид',
    'filter' => 'mnn'
);
 
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://www.ros-med.info/region/index.php?p=1&r=46&action=page');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$out = curl_exec($curl);
echo $out;
curl_close($curl);
?>
Что я упустил? Как сделать правильно?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2015, 17:45
Ответы с готовыми решениями:

Расширение для браузера, возможности
Посдкажите, возможно ли в принципе реализовать следующий функционал на JS в рамках расширения для...

Сортировка текста. Расширение ее возможности обработки
Добрый день пользователи, подскажите, пожалуйста. Есть сортировка, которая сортирует текст в...

Как включить расширение CURL в PHP на Windows?
День добрый! Как в виндовсе в PHP включить расширение CURL? У меня PHP установлено на винде....

Можно ли изменять расширение загружаемого curl файла?
необходима помощь в таком вопросе. есть отправка файла в post-запросе курлом, однако столкнулся с...

3
23 / 23 / 12
Регистрация: 25.03.2015
Сообщений: 98
30.03.2015, 11:00  [ТС] 2
Вопрос еще актуален, не проходите мимо)
0
3 / 3 / 3
Регистрация: 29.03.2015
Сообщений: 20
30.03.2015, 14:22 3
Лучший ответ Сообщение было отмечено BleStaR как решение

Решение

Заинтересовала ваша проблема, так как сам не так давно подобным занимался.

У вас не правильный URL. Форма обрабатывается на results.php?action=search-price&r=46, а не по тому URL что у вас.
Поменяв адрес сразу столкнулся с проблемой кодировки. В данном случае, сервер обрабатывает запросы в cp1251. То есть конвертируем строку в нужную кодировку.

Отсюда:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$data = array(
    'search' => iconv('utf-8', 'cp1251', 'Натрия хлорид'),
    'filter' => 'mnn'
);
 
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://www.ros-med.info/region/results.php?p=1&r=46&action=page');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$out = curl_exec($curl);
echo $out;
curl_close($curl);
Вроде бы работает =) Можете парсить.
0
23 / 23 / 12
Регистрация: 25.03.2015
Сообщений: 98
30.03.2015, 20:16  [ТС] 4
Спасибо. Действительно проблема в URL. (у меня проблемы с кодировкой не возникло, видимо 1251 по дефолту стоит - но теперь будем знать о возможности такой проблемы).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2015, 20:16

Изменяю файл hosts, ставлю напротив сайта ip адрес другого сайта
По идее должен идти редирект на этот самый другой сайт. Например строчка 87.240.156.161 www.kiss.ru...

Установка скрипта на страницу сайта с уже установленной страницы другого сайта
Здраствуйте. У меня такой вопрос. Каким образом можно установить скрипт на свою страницу с другого...

Парсить данные одного сайта со стороны клиента со страницы другого сайта
Есть 2 сайта. 1 - не мой 2 - мой. Мне нужно сделать следующее : Как только пользователь...

Перенос данных из полей моего сайта, в поле другого сайта - эмулирование человеческого воздействия
Существует страница на моём сайте, на ней расположены несколько полей и кнопка &quot;Отправить&quot;....

Нет возможности проверить позиции сайта
Всем привет. Хочу раскрутить сайт но ничего не получается. Прописал НЧ запросы, создал XML файл в...

Возможности Python для крупного сайта
Поставили задачу разработать сайт-хранилище с большим объёмом фотографий. Их может быть 10к - 30к....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru