Простейший парсинг

Редакция автор: stain

Сайт для публичного парсинга
Вебскраппинг на nodejs серия статей.

Парсинг в коде

#Функция выборки из спарсеного | $p1 = $String $p2 = уникальному вхождению перед $p3 уникальному вхождению после $p4 дополнительный параметр, если нужно детализировать поиск начала
function Parse ($p1, $p2, $p3, $p4) {
	#число показывает место первичной обрезки
	$num1 = strpos($p1, $p2);
	#для сравнение строк используется ===
	if ($num1 === false) return 0;
	#обрезаем сверху
	$num2 = substr($p1, $num1);
	#если существует $p4 то запускаем доп обработку
	if ($p4){ 
	$num1 = strpos($num2, $p4);
	$num2 = substr($num2, $num1);
	}
	
	#strpos($num2, $p3) устанавливает нижнюю линию обрезки
	#substr обрезает снизу
	#strip_tags удаляет таги
	return strip_tags (substr($num2, 0, strpos($num2, $p3)));
}

Собираем контент

# Забираем контент с вписанного адреса в переменную $String
$String = file_get_contents('http://timeweb.com/ru');

Вызов функции парсинга

#Запускаем функцию с пустым 4-тым параметром
echo Parse($String, 'ВерхняяСтопСтрока', 'НижнийСтопЗакрывающийТэг', '');
#Запускаем функцию со всеми параметрами
echo Parse($String, 'ВерхняяСтопСтрока', 'НижнийСтопЗакрывающийТэг', 'ДополнительнаяВерхняяСтопСтрока');

Почему добавлен 4-тый параметр

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

c5cf8234007c91bd77811eb934fe7eb8

При написании основа взята отсюда: https://www.youtube.com/watch?v=RcTcssLY7ws&list=PLKg3kBtO7lNszzfV6juv9cppiSgZMZrhe

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.