Есть один проект, в котором я парсингом выбираю все посты на странице и записываю в базу, если таковых не обнаружено. Выглядит это примерно так:
// перебираем то, что напарсили
foreach($articles as $item) {
// тут у нас код в котором, получаем из $item нужные элементы, типа $itemlink
// дальше проверяем наличие в базе по одному из уникальных полей - в данном случае, $itemlink
$presql = "select count(*) as allcount from items where link='" . $itemlink . "' ORDER BY 'ID' DESC LIMIT 44";
$retrieve_data = mysqli_query($conn,$presql);
$row = mysqli_fetch_array($retrieve_data);
$count = $row['allcount'];
if($count == 0){
// вставка
$sql = "INSERT INTO items (link,)
VALUES ('$itemlink')";
mysqli_query($conn, $sql);
} else {
// echo "Уже есть";
}
}
Подозреваю, можно как-то упростить процесс проверки наличия поста в базе, не делая для каждого из 44 запарсенных поста (именно столько их на странице сайта, который парсится) проверку по 44 последним записанным )) Ну и может собственно запись в базу можно делать не для каждого обнаруженного поста, а один раз для всех обнаруженных обновлений, типа собрать в массив и как-то массивом записать за один раз? Или те же яйца?