Парсер

A
На сайте с 18.02.2009
Offline
46
881

Подскажите почему парсит 2 раза одно и тоже?


$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, 'http://www.lastfm.ru/music/'.$_GET[A].'/+wiki');

$answer = curl_exec($ch);
curl_close($ch);
preg_match_all('/<div id="wiki">(.*?)<\/div>/is',
$answer,
$parse_description_artist,
PREG_PATTERN_ORDER);
var_dump($parse_description_artist);
Аккаунты на торрент-трекеры. () Тут дают деньги!!! (http://Pop-Bazar.com/registration.php?ref=2115)
F
На сайте с 17.07.2012
Offline
66
#1

а сколько таких дивов на странице? попробуйте вместо preg_match_all просто preg_match

A
На сайте с 18.02.2009
Offline
46
#2
Feetz:
а сколько таких дивов на странице? попробуйте вместо preg_match_all просто preg_match

Div один. Пробовал просто preg_match, результат

Warning: preg_match() [function.preg-match]: Invalid flags specified in index.php on line 22

array(0) { }
siv1987
На сайте с 02.04.2009
Offline
427
#3
allmuz:
Подскажите почему парсит 2 раза одно и тоже?

Что значит два раза? Либо там два один, либо за "два раза" вы принимаете найденное соответствие + группировка по скобкам.

allmuz:
Пробовал просто preg_match, результат

у preg_match есть четвертый аргумент?

A
На сайте с 18.02.2009
Offline
46
#4

siv1987, благодарю, Вы как всегда мне открыли глаза на очевидные вещи.

---------- Добавлено 23.11.2012 в 17:41 ----------

А еще подскажите пожалуйста, как получить только ссылку на обложку альбома, без тегов? Что то долбаюсь, не могу понять как...


$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, 'http://www.lastfm.ru/music/'.$_GET[A].'/+albums');

$albums_pic = curl_exec($ch);
curl_close($ch);

preg_match_all('#<img src=".*?>#i',
$albums,
$parse_albums_pic);

foreach($parse_albums_pic as $al_pic_value)
{
for ($i=0; $i<count($al_pic_value); $i++)
{
print_r ($al_pic_value[$i]);
}
}
A
На сайте с 18.02.2009
Offline
46
#5

Все еще нуждаюсь в помощи

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


preg_match_all('#<img src="([^"]+)"#i',
$albums,
$parse_albums_pic);

foreach($parse_albums_pic[1] as $pic_value)
{
print_r( $pic_value );
}

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