Я пытаюсь «украсть» названия продуктов с веб-сайта, чтобы перечислить его самостоятельно. Я хочу сохранить эти значения в массиве. В настоящее время я успешно распечатал их с помощью cURL и разделил все стили.Хранить данные в массиве из цикла for с сайта cURL
Вот мой код:
<?php
$ch = curl_init("http://www.nrs.com/category/3101/whitewater-kayaking/helmets");
$fp = fopen("example_homepage.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
$website = file_get_contents('example_homepage.txt');
//COLLECTED AND STORED WEBSITE AS VARIABLE
preg_match_all('#\<h2>(.+?)\<\/h2>#s', $website, $unfiltered);
$products = array_pop($unfiltered);
$remove_how_much = (count($unfiltered[0]))-(array_search('Follow Us:',$products));
for($count=1;$count<=$remove_how_much;$count++) {
array_pop($products);
}
for($counter=0;$counter<=(count($products)-1);$counter++) {
$explode1 = explode('>',$products[$counter]);
$explode2 = explode ('</a',$explode1[1]);
echo $explode2[0];
echo '<br/>';
}
?>
Go тест это быстро вы увидите, что она печатает его. Я ищу, чтобы сохранить эти значения в массив, проверьте, есть ли повторы, и вынимает слово
- Closeout
из всех значений.
Я также упал в необходимости проверки других разбитым на страницы страницы,
Таким образом, я должен был бы петлю из
http://www.nrs.com/category/3101/whitewater-kayaking/helmets?pg=1
в
http://www.nrs.com/category/3101/whitewater-kayaking/helmets?pg=2
и не так далее, пока он получает ошибки или дублированных страниц.
Любые идеи?
Кроме того, есть способ улучшить мой текущий код, чтобы захватить его более эффективно.
В чем проблема? Запустите код в цикле, увеличивая номер страницы в URL-адресе. Когда вы получите сообщение об ошибке, выйдите из цикла. – Barmar
Я не знаю, было ли это более эффективным, но было бы правильнее использовать парсер HTML вместо regexp для анализа файлов. – Barmar
Почему вы пишете веб-страницу в файл, а затем читаете файл? Почему бы просто не прочитать веб-страницу непосредственно в переменной? – Barmar