Перейти к содержимому

Реферальная программа Мегаплана


Написание парсера. Вопрос.

#1 Banderas

Banderas
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1
0

Отправлено 21 Сентябрь 2011 - 12:51

Пожалуйста, напишите свой алгоритм создания парсера. Свой способ и т.д. Как правильно определять теги.

 

 

  • 0


#2 admin

admin
  • Пользователь PRO
  • 5 272 сообщений
  • Репутация: 54

Отправлено 21 Сентябрь 2011 - 14:44

Banderas, откуда и что парсить?
  • 0

Сколько лет прошло, а ссылки всё ещё лучше покупать тут



#3 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 21 Сентябрь 2011 - 14:51

ИМХО, универсального решения здесь нет. Под каждый случай необходимо будет править.
  • 0


#4 Banderas

Banderas
    Topic Starter
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1

Отправлено 21 Сентябрь 2011 - 17:46

Например я хочу спарсить все книги отсюда _http://www.books.ru/e-knigi-605406/?filter[view]=all&filter[sort]=8&type=
Вот кусок кода что я написал (парсю ссылки на картинки)
<!--shcode--><pre><code class="php">set_time_limit(180);
$tt = array();

for ($i=1; $i&lt;=3; $i++) {
	$data = file_get_contents('http://www.books.ru/e-knigi-605406/?filter[view]=all&amp;filter[sort]=8&amp;type='.$i.'');
	$title= $data;
	do {
		$imgs = preg_match("/src="(http://[a-z]+.[a-z]+.[a-z]+/[a-z]+/[0-9]+-[0-9]+/[0-9]+/[0-9]+.[a-z]{1,3})/i", $title, $res, PREG_OFFSET_CAPTURE);
		$title = substr($title, $res[0][1]+strlen($res[0][0]));
		array_push($tt, $res[1][0]);
	} while ($imgs);
}</code></pre><!--ehcode-->
знаю, я сделал по молдовански, забыл что существует функция preg_match_all(), но так работает тоже. Только собирает 3 ненужные ссылки. Как предложите удалить 3-4 последние ссылки из страницы?

А вообще я хотел узнать что есть обязательным при написание парсера. Какие циклы лучше использовать и т.д.
  • 0


#5 Draftpad

Draftpad
  • Пользователь
  • 2 сообщений
  • Репутация: 0

Отправлено 10 Октябрь 2011 - 14:22

Попробуйте уже готовый фреймворк _http://simplehtmldom.sourceforge.net/
Очень удобный и простой в использовании.
  • 0


Оформление форума – IPBSkins.ru