веб-очистка — извлечение мета-тегов из многих (например, 10 000) URL с переполнением стека

Я попытался получить мета-теги товаров (например, 10000) с сайта электронной коммерции. Скрипт работает иногда и не работает в остальное время. Я сталкиваюсь с ошибкой

Неустранимая ошибка: вызов функции-члена find () для необъекта в …

Пожалуйста, предложите лучший способ сделать это.

Вот код, который я использую:

 $url = "http://www.amazon.com/dp/".$asin;
$html = file_get_html( $url );
$metatags = array();

foreach( $html->find( 'meta[name]' ) as $meta ) {
$metatags[ 'meta' ][] = array(
'name' => $meta->name,
'content' => $meta->content
);
}

1

Решение

Как отмечает @Dagon, это лучший подход к использованию API Amazon, эта ссылка имеет хороший учебник в этой теме

В любом случае, чтобы решить проблему с кодом, попробуйте это:

    $url = "http://www.amazon.com/dp/".$asin;
$html = file_get_html( $url );
$metatags = array();

$names = array();
try{
$names = $html->find( 'meta[name]' );
}
catch(Exception $e)
{
error_log("Error: ".$e->getMessage());
}

foreach( $names as $meta ) {
$metatags[ 'meta' ][] = array(
'name' => $meta->name,
'content' => $meta->content
);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]