powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / В базу данных не происходит записи при парсинге с сайта!
5 сообщений из 5, страница 1 из 1
В базу данных не происходит записи при парсинге с сайта!
    #39973773
Pavll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Никак не пойму, почему не происходит записи в базу данных.
При обновлении скрипта все поля в таблице остаются пустыми. На экране ничего не выводится - пустая страница.
Вот код:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
<?php

require 'C:\OSPanel\vendor\autoload.php';

//require_once('link.php');
    $host = 'localhost'; // адрес сервера
    $database = 'mysite'; // имя базы данных
    $user = 'root'; // имя пользователя
    $password = ''; // пароль

// подключаемся к серверу
$link = mysqli_connect($host, $user, $password, $database)
or die("Ошибка " . mysqli_error($link));

$baseurl = 'http://code.mu/exercises/advanced/php/parsing/poetapnyj-parsing-i-metod-pauka/1/';
$str ='http://code.mu/exercises/advanced/php/parsing/poetapnyj-parsing-i-metod-pauka/1/';

function getCurl($url){
    $curl = curl_init();
    curl_setopt($curl,CURLOPT_URL, $url);
    curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl,CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
    $result = curl_exec($curl);
    return $result;
}

function addContent($link,$url,$title,$content){
    $query="SELECT title FROM codemu WHERE title='".$title."'";
    $result= mysqli_query($link,$query);
    $data = mysqli_fetch_assoc($result);
    if(empty($data)){
        $query="INSERT INTO codemu SET url='".$url."', title='".$title."', data=NOW(), content='".$content."'";
        mysqli_query($link,$query)or die(mysqli_error($link));
    } else return;

}




$curl = getCurl($str);
$pq = phpQuery::newDocument($curl);
$urls = $pq->find('#menu li a');
foreach($urls as $elem){
    $url = pq($elem)->attr('href');
    $url = $baseurl.$url;
    $curl2 = getCurl($url);
    $pq = phpQuery::newDocument($curl2);
    $title = $pq->find('title')->text();
    $pq->find('h1')->remove();
    $content = $pq->find('#content')->html();
    addContent($link,$url,$title,$content);
}
?>



Скажите, пожалуйста, что я делаю не так?
...
Рейтинг: 0 / 0
В базу данных не происходит записи при парсинге с сайта!
    #39973777
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavll
На экране ничего не выводится
А должно выводиться? Если должно, то что что и в которй строчке?
Pavll
что я делаю не так?
Было бы неплохо заняться отладкой. Возможно, код работает не так, как Вы предполагаете.
...
Рейтинг: 0 / 0
В базу данных не происходит записи при парсинге с сайта!
    #39973785
Pavll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle
Pavll
На экране ничего не выводится
А должно выводиться? Если должно, то что что и в которй строчке?
Pavll
что я делаю не так?
Было бы неплохо заняться отладкой. Возможно, код работает не так, как Вы предполагаете.


На экране должно выводиться сообщение, только в случае, если не произошло соединение с БД. Больше ничего не должно выводиться.
Поскольку, сообщение не выводится, - значит подключение к БД произошло успешно.

Отладкой я никогда не занимался (только, если это ещё как-то называется), поэтому подскажите, что это за процесс - отладка?
...
Рейтинг: 0 / 0
В базу данных не происходит записи при парсинге с сайта!
    #39973794
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavll
Поскольку, сообщение не выводится, - значит подключение к БД произошло успешно.
Дык кроме подключения скрипт делает что-то еще. Или не делает, ибо делать нечего (например, в foreach перебирается ноль эелементов). Или срубается, разумеется, молчком.


Pavll
что это за процесс - отладка?
Тынц . По минимуму, которого часто вполне достаточно, можно через var_dump() или print_r() вывести значения переменных, чтобы сравнить их с ожидаемыми.
Разумеется, следует в настройках PHP включить отображение и вывод всех ошибок.
...
Рейтинг: 0 / 0
В базу данных не происходит записи при парсинге с сайта!
    #39973945
Pavll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка оказалась совсем не там, где я её искал.
Были неправильно написаны сами ссылки на сайт, с которого я собирался парсить. Как только, я их исправил, - код сразу заработал.
Но, Вам всё равно - спасибо!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / В базу данных не происходит записи при парсинге с сайта!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]