Подскажите по парсеру на PHP

soulilya
На сайте с 08.10.2013
Offline
47
426

Доброго времени суток. Есть код в 2х вариантах:

Вариант 1:

<?php

header('Content-Type: text/html; charset=utf-8');

ini_set("max_execution_time", "60");

include "C:/xampp/php/scripts/simple_html_dom.php";

$lines = file("array.csv"); //импорт массива с именами файлов

$result = array();

foreach($lines as $line)

{

$result[] = $line;

}

$i = count($result) - 1;

begin:

$file = file_get_html($result[$i]); //подставляем имена файлов из массива

foreach($file->find('span.c-1') as $element)

echo $element->plaintext;

echo ";";

foreach($file->find('table.map-tooltip td h2, p.c-2') as $element2)

echo $element2->plaintext;

echo ";";

foreach($file->find('div.description description-expanded, div[id=desc_text]') as $element3)

echo $element3->plaintext;

echo ";";

while ($i > 0 ){

$i--;

goto begin;

}

?>

Вариант 2:

foreach($lines as $line){

$file = file_get_html("$line"); //подставляем имена файлов из массива

foreach($file->find('span.c-1') as $element)

echo $element->plaintext;

echo ";";

foreach($file->find('table.map-tooltip td h2, p.c-2') as $element2)

echo $element2->plaintext;

echo ";";

foreach($file->find('div.description description-expanded, div[id=desc_text]') as $element3)

echo $element3->plaintext;

echo ";";

}

И там и там вылетает ошибка file_get_contents(1-k_kvartira_33_m_59_et-1._210905886.htm ): failed to open stream: Invalid argument

Помогите пожалуйста разобраться в чем проблема.

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#1

$lines = file("array.csv");

замените на:

$lines = file("array.csv", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
soulilya
На сайте с 08.10.2013
Offline
47
#2

Спасибо, попробую...

B1
На сайте с 13.12.2012
Offline
28
#3
soulilya:
И там и там вылетает ошибка file_get_contents(1-k_kvartira_33_m_59_et-1._210905886.htm ): failed to open stream: Invalid argument

failed to open stream - в переводе не нуждается...

file_get_html("$line"); - указывайте верные пути к файлам. что у вас в $line?

siv1987
На сайте с 02.04.2009
Offline
427
#4
soulilya:

$i = count($result) - 1;
begin:
....
while ($i > 0 ){
$i--;
goto begin;
}

Достойный пример кода для сайта gonokod.ru. Зачет ТС

soulilya
На сайте с 08.10.2013
Offline
47
#5

bashkir102 - Я все расписал, плюс в ошибке все написано. Там имена файлов, которые лежат в корне.

siv1987 - ага, спасибо. Я уже понял, что так никто не делает.

LEOnidUKG - Вам отдельное человеческое спасибо и благодарность. Все работает)

siv1987
На сайте с 02.04.2009
Offline
427
#6

Трим-мить надо строки, плюс если не использовать второй аргумент делать иф переменной чтобы она небыла пустой

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий