webdeveloperrr пишет:Переход по ссылке пока не идет
А обращение у вас каждый раз идёт к одному и тому же сайту? В ссылке изменяются только параметры? Если да, то нужно извлечь get-параметры из ссылки, и передать их в функцию. Только и в функции нужно подправить приём этих параметров.
Я не могу написать сразу рабочее решение, т.к. я не знаю, что вы грабите, и что вам нужно в итоге получить.
PS: И ещё, пользовательских функций у вас должно быть минимум три: одна для работы с phpQuery, вторая - для записи изображений в папку, и треться - для записи в csv-файл.
(Добавление)
webdeveloperrr, я дописал условие с регуляркой, по идее теперь переход по ссылке должен отрабатывать (демо-пример):
Спойлер (Отобразить)PHP:
скопировать код в буфер обмена
header('Content-type: text/html; charset=utf8');
require 'curl/curl.php';
require 'phpquery/phpQuery/phpQuery.php';
include 'db.php';
// Сохраняем наш код в функцию
function getData($url) {
$csv = 'file.csv'; // Название вашего CSV-файла
$texts = [];
$files = [];
$i = 0; // Переменная-счётчик
$url = $arr[1];
}
$doc = phpQuery::newDocument($file);
foreach ($doc->find('.listing-card') as $article) {// первая выборка
//foreach ($doc->find('div#item-content ') as $article) {//вторая выборка
$article = pq($article);
$img = $article->find('.listing-thumb img')->attr('src');
$text = $article->find(".listing-basicinfo 'p' ");
$link = $article->find('a')->attr('href');
$img2 = $article->find('img.example-image ')->attr('src');
$text2 = $article->find("div#description 'p' ")->text();
echo "<img src='$img'>";'<br>';
echo "<img src='$img2'>";'<br>';
echo $link;'<br>';
echo $text;'<br>';
echo $text2;'<br>';
echo '<hr>';
$file = 'img/'. $time . ++$i .'.jpg';
$texts[] = $text;
$texts[] = $text2;
$files[] = $file;
$result = mysql_query ("INSERT INTO pars (img,name,name2) VALUES ('$file', '$text,$text2')");
if ($result == 'true') {
echo "<p>succes!</p>";
} else {
echo "<p>fall!</p>";
}
}
$list = [
$texts,
$files
];
foreach ($list as $fields) {
}
// Возвращаем ссылку
return $link;
}
// Если был переход по ссылке
if (isset($_GET['data'])) { // Принимаем данные *
// Передаём данные нашей функции (для записи в файлы и БД)
getData($data);
} else {
// По умолчанию парсим как обычно
$url = 'http://site.ru/index.php?page=search&sCategory=110';
// Наша функция вернёт ссылку
$link = getData($url);
// Эту ссылку мы пропишем в теге и выведем в браузер
echo '<a href="?data='. $link .'">'. $link .'</a>';
}