Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите спарсить одне поле

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
event
Отправлено: 19 Августа, 2012 - 05:34:13
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Привет.
Есть ссылка http://rutor.org/torrent/215393/, хочу спарсить, все что после Перевод:, то есть на выходе должно прийти (Профессиональный (полное дублирование)), пробовал сам но не получается Не понял , вот:
PHP:
скопировать код в буфер обмена
  1. preg_match("#<b>Перевод: </b>(.*)<br />#s", $html, $voice);    
  2. $voice = trim($voice['1']);


Заранее спасибо.

(Отредактировано автором: 19 Августа, 2012 - 05:37:50)

 
 Top
EuGen Администратор
Отправлено: 19 Августа, 2012 - 10:46:21
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Страница в utf, попробуйте так:
PHP:
скопировать код в буфер обмена
  1. preg_match('/\<b\>Перевод\:\s+\<\/b\>([^\<\>]*?)\<br\s*\/\>/ui', $sText, $rgMatches);
  2. //var_dump($rgMatches);


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
event
Отправлено: 19 Августа, 2012 - 17:22:13
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




EuGen
Не работает Ваш код, вот делаю так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. function gzdecode($data){
  4.     $g=tempnam('/tmp','ff');
  5.     @file_put_contents($g,$data);
  6.     ob_start();
  7.     readgzfile($g);
  8.     $d=ob_get_clean();
  9.     return $d;
  10. }
  11.  
  12. $getpage = gzdecode(file_get_contents("http://rutor.org/torrent/215393/"));
  13.  
  14. preg_match('/\<b\>Перевод\:\s+\<\/b\>([^\<\>]*?)\<br\s*\/\>/ui', $getpage, $rgMatches);
  15. var_dump($rgMatches);
  16.  
  17. ?>


Получаю:
Warning: preg_match() [function.preg-match]: Compilation failed: invalid UTF-8 string at offset 6 in C:\AppServ\www\2.php on line 14
NULL

(Отредактировано автором: 19 Августа, 2012 - 17:22:24)

 
 Top
EuGen Администратор
Отправлено: 19 Августа, 2012 - 17:29:06
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




event
Так почему Вы ищете не в содержимом страницы, а в файле?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
event
Отправлено: 19 Августа, 2012 - 17:32:47
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




То есть? Всегда так делаю...
(Добавление)
Дайте пример, пожалуйста...
(Добавление)
Вроде все правильно я делаю. вот например если парсю название, то работает.
PHP:
скопировать код в буфер обмена
  1. $getpage = file_get_contents("http://rutor.org/torrent/215393/");
  2.  
  3. preg_match_all( "/.*<h1>(.*)<\\/h1>.*/isU", $getpage, $matchesname);
  4. $torrentname = iconv("UTF-8", "windows-1251", $matchesname[1][0]);
  5. echo $torrentname;

(Добавление)
Пробовал сам написать, но тоже не работает:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $getpage = file_get_contents("http://rutor.org/torrent/215393/");
  4.  
  5. preg_match_all("#<b>Перевод: </b>(.*?)<br />#", $getpage, $matchesname);
  6. var_dump($matchesname);
  7.  
  8. ?>
и вот так:
PHP:
скопировать код в буфер обмена
  1. preg_match_all("/.*<b>Перевод: <\\/b>(.*)<br \\/>.*/isU", $getpage, $matchesname);
  2. var_dump($matchesname);


Но нифика... Недовольство, огорчение
(Добавление)
EuGen, я вроде понял о чем ты, ты имеешь ввиду что я ищу на целой странице, а нужно брать именно тот кусок текста (самого описания), верно?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB