Реклама на сайте Advertise with us

Парсер html - есть вопросы :) (php)

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Zed's dead, baby

С нами с 05.01.05
Сообщения: 788
Рейтинг: 328

Ссылка на сообщениеДобавлено: 19/07/06 в 23:18       Ответить с цитатойцитата 

Потребовалось выдрать из хтмл строчку накидал скриптик как мог, в пхп ньюб

Код:

<?
$page=file_get_contents('http://siteA.com');
if (preg_match_all("~<code>(.*?)</code>~si",$page,$ok)){
    for($i=0;$i<count($ok[0]);$i++){
        echo "<br> <textarea cols=70 rows=30>".htmlspecialchars($ok[0][$i])."</textarea><p>";
    }
}else{
   echo "нихуя нет";
}

?>


Трабла в том, что нужно парсить большое количество страниц, эдак под 1к.
Вопрос, как замутить file_get_contents, чтобы можно было вводить под 1k урлов.
С меня рейтинг по макс. icon_smile.gif

0
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 19/07/06 в 23:23       Ответить с цитатойцитата 

циклы использовать.
А вообще htp://phpclub.ru/talk/index.php - так много разобранного есть из подобных случаев.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

5
 

Zed's dead, baby

С нами с 05.01.05
Сообщения: 788
Рейтинг: 328

Ссылка на сообщениеДобавлено: 19/07/06 в 23:26       Ответить с цитатойцитата 


Только оттуда, ничего не нашёл, наверное плохо искал

0
 

ГДЕ, СУКА, САЙНЫ?

С нами с 17.03.06
Сообщения: 3986
Рейтинг: 3327

Ссылка на сообщениеДобавлено: 19/07/06 в 23:29       Ответить с цитатойцитата 

кури flush, file, for

sponsors and tradesНадежный ХостингXXX Toplists

5
 

ГДЕ, СУКА, САЙНЫ?

С нами с 17.03.06
Сообщения: 3986
Рейтинг: 3327

Ссылка на сообщениеДобавлено: 19/07/06 в 23:30       Ответить с цитатойцитата 

и ищо set_time_limit(0)

sponsors and tradesНадежный ХостингXXX Toplists

5
 

эксклюзивщик

С нами с 08.03.05
Сообщения: 1013
Рейтинг: 512

Ссылка на сообщениеДобавлено: 19/07/06 в 23:43       Ответить с цитатойцитата 

а еще строку

for($i=0;$i<count($ok[0]);$i++)

корректнее заменить на

foreach($ok[0] as $k)

уникальные предложения по съемке контента гомосексуального харрактера

5
 

Zed's dead, baby

С нами с 05.01.05
Сообщения: 788
Рейтинг: 328

Ссылка на сообщениеДобавлено: 19/07/06 в 23:53       Ответить с цитатойцитата 

мда руки кривые, нихера не работает icon_sad.gif

Всем сенкс за посты

0
 

ГДЕ, СУКА, САЙНЫ?

С нами с 17.03.06
Сообщения: 3986
Рейтинг: 3327

Ссылка на сообщениеДобавлено: 19/07/06 в 23:56       Ответить с цитатойцитата 

напиши в начале error_reporting (E_ALL);
и посмотри что пишет

sponsors and tradesНадежный ХостингXXX Toplists

5
 

Zed's dead, baby

С нами с 05.01.05
Сообщения: 788
Рейтинг: 328

Ссылка на сообщениеДобавлено: 20/07/06 в 00:05       Ответить с цитатойцитата 


Да ничего не пишет скрипт исполняетса в приведённом варианте, а вот как сделать завязку скажем чтобы брал урлы из файла и парсил незнаю немогу никак не ифну найти, а может уже и поподалась на глаза, но не могу сообразить. В общем я в пхп 0 icon_smile.gif

0
 

ГДЕ, СУКА, САЙНЫ?

С нами с 17.03.06
Сообщения: 3986
Рейтинг: 3327

Ссылка на сообщениеДобавлено: 20/07/06 в 00:07       Ответить с цитатойцитата 

$massive=file ('file.csv');

все урлы в файле должны с новой строчки начинаться!

sponsors and tradesНадежный ХостингXXX Toplists

5
 

Zed's dead, baby

С нами с 05.01.05
Сообщения: 788
Рейтинг: 328

Ссылка на сообщениеДобавлено: 20/07/06 в 00:12       Ответить с цитатойцитата 

Notice: Undefined variable: page in z:\home\localhost\www\pars.php on line 4

0
 

ГДЕ, СУКА, САЙНЫ?

С нами с 17.03.06
Сообщения: 3986
Рейтинг: 3327

Ссылка на сообщениеДобавлено: 20/07/06 в 00:24       Ответить с цитатойцитата 

notice не страшен
бля, я так чуствую придется разжевывать...
Все-таки посмотри спецификацию file все понятно станет

sponsors and tradesНадежный ХостингXXX Toplists

5
 

Zed's dead, baby

С нами с 05.01.05
Сообщения: 788
Рейтинг: 328

Ссылка на сообщениеДобавлено: 20/07/06 в 00:33       Ответить с цитатойцитата 

pirate писал:

бля, я так чуствую придется разжевывать...


Правильно чувствуешь smail04.gif

Посмотрел, разницы то вроде нет, что я так юзаю, что fail буду icon_smile.gif

0
 

ГДЕ, СУКА, САЙНЫ?

С нами с 17.03.06
Сообщения: 3986
Рейтинг: 3327

Ссылка на сообщениеДобавлено: 20/07/06 в 01:00       Ответить с цитатойцитата 

короче
Код:

set_time_limit(0);
$massive=file('file.csv');
$vsego=count($massive);

for ($i=0;$i<$vsego;$i++)
{
$page=file_get_contents(trim($massive[$i]));
...//tvoy kod
flush();
}


примерно так.

С тебя фотка голой анжелины жолы 1024*800

sponsors and tradesНадежный ХостингXXX Toplists

5
 

Zed's dead, baby

С нами с 05.01.05
Сообщения: 788
Рейтинг: 328

Ссылка на сообщениеДобавлено: 20/07/06 в 01:08       Ответить с цитатойцитата 

Большое спасибо icon_smile.gif

А Бреда Пита можно ?

Всё клёва обрабатывает первый запрос и ошибка icon_smile.gif

Notice: Undefined offset: 1 in z:\home\localhost\www\pars.php on line 11

0
 

ГДЕ, СУКА, САЙНЫ?

С нами с 17.03.06
Сообщения: 3986
Рейтинг: 3327

Ссылка на сообщениеДобавлено: 20/07/06 в 01:30       Ответить с цитатойцитата 

nedes писал:
Большое спасибо icon_smile.gif
Всё клёва обрабатывает первый запрос и ошибка icon_smile.gif
Notice: Undefined offset: 1 in z:\home\localhost\www\pars.php on line 11

можешь убрать error_reporting или сделай error_reporting(0)ж

нотис это не ошибка а ... нотис, короче.
Цитата:
А Бреда Пита можно ?

хачу анжилину!

sponsors and tradesНадежный ХостингXXX Toplists

5
 

Zed's dead, baby

С нами с 05.01.05
Сообщения: 788
Рейтинг: 328

Ссылка на сообщениеДобавлено: 20/07/06 в 01:44       Ответить с цитатойцитата 

pirate писал:
можешь убрать error_reporting или сделай error_reporting(0)ж
нотис это не ошибка а ... нотис, короче.
хачу анжилину!

да убирал ужо icon_smile.gif всё равно неработает icon_smile.gif

0
 

ГДЕ, СУКА, САЙНЫ?

С нами с 17.03.06
Сообщения: 3986
Рейтинг: 3327

Ссылка на сообщениеДобавлено: 20/07/06 в 01:53       Ответить с цитатойцитата 

Код:
set_time_limit(0);
$massive=file('file.csv');
$vsego=count($massive);

for ($j=0;$j<$vsego;$j++)
{
$page=file_get_contents(trim($massive[$j]));
...//tvoy kod
flush();
}

а так?

sponsors and tradesНадежный ХостингXXX Toplists

5
 

Zed's dead, baby

С нами с 05.01.05
Сообщения: 788
Рейтинг: 328

Ссылка на сообщениеДобавлено: 20/07/06 в 02:02       Ответить с цитатойцитата 

Работает icon_smile.gif

Щас разговаривал с её менеджером, она спит как проснётьса он сфоткает и замылит мне, выложув этом топикеicon_smile.gif

0
 

SexBlogs.Name

С нами с 13.10.03
Сообщения: 3159
Рейтинг: 962

Ссылка на сообщениеДобавлено: 20/07/06 в 07:56       Ответить с цитатойцитата 

nedes писал:
Щас разговаривал с её менеджером, она спит как проснётьса он сфоткает и замылит мне, выложув этом топикеicon_smile.gif

Оффтопик: врешь поди

Submit your blog to the sex blogs list. PR=3 Quickly approve! 10 posts min. Ping every 6 hour!

5
 

Самый добрый бегемот

С нами с 24.06.03
Сообщения: 954
Рейтинг: 574

Ссылка на сообщениеДобавлено: 20/07/06 в 11:39       Ответить с цитатойцитата 

Я надеюсь вы так не гугл парсите? icon_smile.gif
Если да, то пожалейте хостера, вы же у него не одни icon_smile.gif

5
 



С нами с 19.02.03
Сообщения: 1284
Рейтинг: 354

Ссылка на сообщениеДобавлено: 20/07/06 в 13:40       Ответить с цитатойцитата 


что верно то верно...icon_smile.gif

sleep в цикле поставь,
я когда парсил один сайтец он выдавал сообщение об ошибке если не делать интервалы между запросами потому как слишком быстро шли запросы к странице и хостингу это не нравилось, пришлось sleep ставить.

5
 

Самый добрый бегемот

С нами с 24.06.03
Сообщения: 954
Рейтинг: 574

Ссылка на сообщениеДобавлено: 20/07/06 в 13:43       Ответить с цитатойцитата 

такие вещи лучше через прокси делать, а то можно и подсеть в бан загнать и абуз получить icon_smile.gif

5
 



С нами с 29.07.06
Сообщения: 2
Рейтинг: 10

Ссылка на сообщениеДобавлено: 29/07/06 в 11:51       Ответить с цитатойцитата 

Приветствую!

Мне недавно попался в руки один парсер, я уже несколько дней немогу понять как он работает (причем работает только на юних серверах?).
Вот чать начального кода, с моими комментрариями:

set_time_limit(0); // - время выполнения скрипта, почему 0?
$realdate = date("Y-m-d"); // получение даты
$realtime = gmdate("H:i:s"); // получение времени
$urls = "http://...../"; // адрес сайта который парсят

if (sizeof($urls)>0) // если есть ссылка то выполнять далее ...
{
for ($z=0;$z<sizeof($urls);$z++) // цикл от 0 до размера ссылки ?
{
$url = $urls[$z]; // берем первый символ ссылки - "h" ?
$handle = @fopen ($url, "r"); // считывает по ссылке "h" данные ?
if (!$handle){echo"Unknown error icon_sad.gif, check this url $url"; exit();} // если неполучилось выход
while (!@feof ($handle))
{
$a++; // увеличивает ранее не известную переменную на 1
$buffer = fgets($handle, 4096); //получаем строку читая по байту до адреса 4096

if (strpos($buffer,"title>")) // проверка, включает ли полученное "title>"
.......

Так вот непонятно, как оно получает данные , если ссылкой является только буква "h", и т.д. (везде где отсутсвует понимание поставил "?")
Помогите, пожалуйста!!!

5
 
+ + +


С нами с 24.07.06
Сообщения: 108
Рейтинг: 53

Ссылка на сообщениеДобавлено: 29/07/06 в 13:03       Ответить с цитатойцитата 

nedes писал:
Потребовалось выдрать из хтмл строчку накидал скриптик как мог, в пхп ньюб
Код:

<?
$page=file_get_contents('http://siteA.com');
if (preg_match_all("~<code>(.*?)</code>~si",$page,$ok)){
    for($i=0;$i<count($ok[0]);$i++){
        echo "<br> <textarea cols=70 rows=30>".htmlspecialchars($ok[0][$i])."</textarea><p>";
    }
}else{
   echo "нихуя нет";
}

?>

Трабла в том, что нужно парсить большое количество страниц, эдак под 1к.
Вопрос, как замутить file_get_contents, чтобы можно было вводить под 1k урлов.
С меня рейтинг по макс. icon_smile.gif

Код:

<?
$sites = file("sites.txt"); // сюда урлы пихай, 1 строка - 1 урл
foreach ($sites as $site) {
$site=str_replace("\n", "", $site);
$site=str_replace("\r", "", $site);
$page=file_get_contents($site);
if (preg_match_all("~<code>(.*?)</code>~si",$page,$ok)){
    for($i=0;$i<count($ok[0]);$i++){
        echo "<br> <textarea cols=70 rows=30>".htmlspecialchars($ok[0][$i])."</textarea><p>"; echo "<br>";
    }
}else{
   echo "нихуя нет<br>";
}
}
?>

так попробуй!

Последний раз редактировалось: Кот (29/07/06 в 13:07), всего редактировалось 1 раз

5
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »