Инструменты пользователя

Инструменты сайта


siteparser

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
siteparser [2022/02/06 00:19]
a1 удалено
— (текущий)
Строка 1: Строка 1:
-====== Использование ====== 
-<code php> 
-/* 
-Работа с классом достаточно проста,​ хоть и кажется сложной с первого взляда. 
- 
-класс циклически переходит по ссылкам в пределах хоста начиная с указаной в аргументе функции parse(). 
-Ссылки выбираются только те, что соответствуют правилам перехода:​ 
-urlAllow, urlAllowRegexp,​ urlDenyAllow,​ urlDenyRegexp. 
-Для каждой страницы сайта создается объект mlq  и вызывается функция указаная в аргументе handler(). 
- 
-*/ 
- 
-include('​./​lib/​ml.php'​);​ //​подключаем класс mlq 
-include('​./​lib/​parser.php'​);​ //​подключаем класс site_parser 
- 
-function myfunction($parser) { 
-  echo $parser->​host;​ //​текущий хост 
-  echo $parser->​url;​ //​текущий url 
-  $ml = $parser->​ml;​ //​объект ml для данной страницы 
- 
-  //​делаем выборку элементов см. mlq 
-  $titile = $ml->​select('​h1'​)->​text(); ​ 
-  $src = $ml->​select('​img'​)->​attr('​src'​);​ 
- 
-  $parser->​csv_set('​title',​$title);​ //​записываем строку в csv  
-  $image = $parser->​download($src,'​images'​);​ //​Скачивает файл по ссылке в папку images. Возвращает имя файла в папке 
-  $parser->​csv_set('​image',​ $image); //​записываем строку в csv  
- 
-  $parser->​csv_next();​ //​следующая строка csv. необязательно вызывать,​ если один вызов функции обрабатывает одну строку csv 
-  return true; 
-} 
- 
-$parser = new site_parser();​ 
-$parser->​handler('​myfunction'​);​ //​функция вызываемая каждый раз для обработки страницы 
-$parser->​set_codepage('​cp1251'​);​ //​кодировка сайта 
- 
-$parser->​urlAllow('/​product/​si'​);​ //​разрешенные url 
-$parser->​urlAllowRegexp('/​product/​si'​);​ //​разрешенные url regexp 
-$parser->​urlDeny('/​product/'​);​ //​запрещенные url regexp 
-$parser->​urlDenyRegexp('/​product/​si'​);​ //​запрещенные url regexp 
- 
-$parser->​parse('​http://​www.site.ru','/​path/​to/​start'​);​ //​запуск парсинга с данной страницы 
-$parser->​csv_save('​items.csv'​);​ //​сохраняем csv в items.csv 
-</​code>​ 
-====== Методы ====== 
-Основные функции 
- 
-void set_codepage(string codepage) - выбор кодировки сайта 
- 
-void parse_page(string host, string url) - парсинг страницы сайта ссылка на который указана в аргументах 
- 
-Функции циклического парсинга 
- 
-void handler(function handler) - выбор функции вызываемой при циклическом парсинге 
- 
-void parse(string host, string url) - циклический парсинг сайта начиная от ссылки указаной в аргументах 
- 
- 
-Функции правил перехода по ссылкам 
- 
-void urlAllow(string query) - переход осуществляется только по ссылкам,​ содержащим строку query 
- 
-void urlAllowRegexp(string query) - переход осуществляется только по ссылкам,​ совпадающим с шаблоном regexp query 
-разрешающие правила объединяются по логической схеме ИЛИ. Если не указано ни одно из правил,​ то переход происходит по любой ссылке. 
- 
-void urlDeny(string query) - запрет перехода по ссылкам,​ содержащим строку query 
- 
-void urlDenyRegexp(string query) - запрет перехода по ссылкам,​ совпадающим с шаблоном regexp query 
-запрещающие правила объединяются по логической схеме ИЛИ и имеют больший приоритет чем разрешающие. 
- 
-urlReplaceRegexp(string from,string to) - заменяет символы в строке по паттерну 
- 
-Вспомогательные функции 
- 
-string download(string url, string folder[, boolean noconflict=true]) - Скачивает файл ссылке url в папку folder. Возвращает локальное имя файла или false в случае ошибки. Если значение noconflict - true записываемое имя файла будет соответствовать хешу ссылки на него. Если файл уже присутствует в папке - функция возвращает его имя не скачивая его. 
- 
-Функции работы с csv 
- 
-void function csv_set(string title, string value) - запись значения value для поля title 
- 
-void function csv_next() - переход к следующей строке csv 
- 
-void function csv_save(string filename) - сохранение csv в файл filename 
- 
  
siteparser.1644095997.txt.gz · Последние изменения: 2022/02/06 00:19 — a1