Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Получить данные со страницы, Парсинг
lola_lola  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 1
Пользователь №: 42209
На форуме: 1 год, 1 месяц, 14 дней
Карма:




Добрый вечер. Подскажите, пожалуйста, как можно реорганизовать скрипт или есть возможность изъять данные. Суть такова, у меня есть парсер отделений одной из служб доставки. Есть API для того, чтобы можно было обратиться к нему с любого сайта. Когда я запускаю код на сервере, то всё отличненько парсится и добавляется в базу, если же посылать запрос с какого-то сайта на сервер, то с помощью file_get_contents он возвращает только строковый результат об успешном выполнение и добавляет данные не в базу сайта, а повторно перезаписывает на сервере. Происходит из-за того, что идёт выполнение функции append_department(принадлежит классу для вставки/изъятия и тд ). В общем, есть ли у кого-то идеи, как можно изъять грамотно данные и записать их в базу сайта? Огромнейшее спасибо.

Привожу код парсера и функции для взаимодействия с api

<?php
//include_once('libphp/total_function.php');
include_once('libphp/LIB/simple_html_dom.php');
include_once 'api.php';
$type=2;
delete_records($type);
$name='';
$city='';
$region='';
$adress='';
$phone='';
$work_time='';
ini_set('user_agent', 'My-Application/2.5');
$html = new simple_html_dom();
$cont = get_data("http://допустим тут ссылка на api службы доставки");
$dom = $html->load($cont);
if (!empty($dom))
foreach($dom->find('div.city-block') as $article) {
$city = trim($article->find('div.city-title', 0)->plaintext);
$city = strtolower($city);
$city = ucfirst($city);
foreach($article->find('div.city-info') as $articles){
$name = "Отделение №".trim($articles->find('div.attention-circle-violet', 0)->plaintext);
$adress = trim($articles->find('div.city-info-addr', 0)->plaintext);
if(strlen(trim($adress)))
append_department($type,$name,($city),$region,$adress,$phone,$work_time);
}
}

else {
die("Error");
}

die("OK");

// Дальше следует функция get_data и тд
}
?>


function helloAPI($apiMethodParams){
header('Content-type: text/html');
echo file_get_contents("http://localhost/delivery/delivery.php");
}

PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса