Парсинг одного WEB-документа в несколько разных файлов на диск (сохранение произвольных частей шаблона вывода в указанные файлы макросом [SAVETOFILE])

Для сохранения нужных частей шаблона вывода (при парсинге во вкладке “контент”) в указанный(ые) файл(ы), возьмите их в макрос [SAVETOFILE]:

1
2
3
Другой код шаблона вывода
[SAVETOFILE:specs.csv{add}{translit}{convertspace}{nodelete}{utf8}]текст, для сохранения в файл specs.csv[/SAVETOFILE]
Другой код шаблона вывода

При таком раскладе, все, что содержится внутри макроса [SAVETOFILE]…[/SAVETOFILE], будет сохранено в файл specs.csv, который будет создан в папке, куда вы парсите контент.

Как видно из примера, у макроса есть несколько параметров, а именно:
{rename} – включить автоматическое переименование файлов при совпадении имен
{add} – использовать дозапись в файл (если убрать этот параметр, то при следующем вызове макроса [SAVETOFILE] с таким же именем, файл будет перезаписываться)
{norewrite} – отключит запись в существующий файл (если такой файл уже есть на диске)(оператор {add} аннулирует действие оператора {norewrite})
{rewrite_once} – включит режим перезаписи каждого из файлов только при первом добавлении в них данных для каждой сессии парсинга контента (при первой попытке записи в файл, если файл будет существовать на диске, он будет перезаписан, далее в него будет производиться дозапись данных (перезапишутся они только при следующем запуске процедуры парсинга контента))
{translit} – преобразование русских букв имени файла в транслит
{convertspace} – преобразование пробелов имени файла в знак дефиса (тире)
{nodelete} – если этот параметр присутствует, то записываемые в файл данные (текст, для сохранения в файл specs.csv) останутся в шаблоне вывода (не будут удаляться)
{keepname} – на месте макроса останется ТОЛЬКО имя файла (specs.csv).
{utf8} – сохранить файл в кодировке UTF-8 (если этот параметр отсутствует, то данные будут сохранены в кодировке ANSI)
{notcsv} – отключит преобразование для сохраняемого этим макросом контента в CSV-формат (не будут добавляться разделители CSV)
{exact} – включает режим указания абсолютного и точного (без изменений макросом) пути к файлу для сохранения (пример использования)

И, разумеется, на месте “specs.csv” и “текст, для сохранения в файл specs.csv” вы можете использовать границы парсинга и любые другие макросы шаблона вывода.


Как указать абсолютный путь к любой папке на диске для записи в нее файлов

Для этого используйте параметр {path}абсолютный путь к корневой папке на диске для сохранения в нее файлов{/path}.

Пример использования параметра {path}:

1
2
3
Другой код шаблона вывода
[SAVETOFILE:{path}C:\Content\1\{/path}specs.csv{add}{translit}{convertspace}{nodelete}{utf8}]текст, для сохранения в файл specs.csv[/SAVETOFILE]
Другой код шаблона вывода



Задание строки заголовка (записывается в начало файла только один раз)

Если вам необходимо задать строку заголовка для файлов, создаваемых макросом [SAVETOFILE], пропишите ее в {head} следующим образом:

1
2
3
Другой код шаблона вывода
[SAVETOFILE:{head}Имя 1 столбца[CSVCS]Имя второго столбца{/head}specs.csv{add}{translit}{convertspace}{nodelete}{utf8}]текст, для сохранения в файл specs.csv[/SAVETOFILE]
Другой код шаблона вывода



Задание нижней строки (записывается в конец файла в конце процедуры парсинга)

Если вам необходимо задать нижнюю строку для файлов, создаваемых макросом [SAVETOFILE], пропишите ее в {bottom} следующим образом:

1
2
3
Другой код шаблона вывода
[SAVETOFILE:{bottom}Нижняя строка{/bottom}{head}Имя 1 столбца[CSVCS]Имя второго столбца{/head}specs.csv{add}{rewrite_once}{translit}{convertspace}{utf8}]текст, для сохранения в файл specs.csv[/SAVETOFILE]
Другой код шаблона вывода

Обратите внимание на присутствие параметра {rewrite_once} (включение перезаписи файла при первой инициации записи данных в него в пределах каждой сессии парсинга контента).


ВАЖНО: Для проверки результатов записи, производите не предпросмотр парсинга контента (как обычно), а парсинг контента (F5). Восстановить прежнее состояние списка ссылок после парсинга вы сможете так: правый клик по списку ссылок -> пункт контекстного меню “отменить последнее действие”.


Загрузка файлов на FTP

Для загрузки на FTP файлов, созданных макросом [SAVETOFILE] (при завершении процедуры парсинга контента) используйте параметр {toftp}имя FTP-соединения из менеджера (ctrl+m){/toftp}

1
2
3
[SAVETOFILE:{path}C:\Content\1{/path}{add}FTPTestFile.txt{toftp}for tests{/toftp}]777888[/SAVETOFILE]
[SAVETOFILE:{path}C:\Content\1{/path}{add}FTPTestFile2.txt{toftp}for tests{/toftp}]777888[/SAVETOFILE]
[SAVETOFILE:{path}C:\Content\1{/path}{add}FTPTestFile3.txt{toftp}for tests{/toftp}]777888[/SAVETOFILE]

Content Downloader
Content Downloader
Также можно указать путь сохранения файла на FTP с помощью оператора {ftppath} (добавляется внутрь {toftp}…{/toftp}).

1
[SAVETOFILE:{path}C:\Content\1{/path}{add}FTPTestFile.txt{toftp}for tests{ftppath}ftpfolder\ftpsubfolder\{/toftp}]777888[/SAVETOFILE]

В данном случае файл загрузится на FTP в папку ftpfolder\ftpsubfolder\ с именем FTPTestFile.txt

1
[SAVETOFILE:{path}C:\Content\1{/path}{add}FTPTestFile.txt{toftp}for tests{ftppath}ftpfolder\ftpsubfolder\abc.csv{/toftp}]777888[/SAVETOFILE]

В данном случае файл загрузится на FTP в папку ftpfolder\ftpsubfolder\ с именем abc.csv


Режим указания абсолютного и точного (без изменений макросом) пути к файлу для сохранения (оператор {exact})

Используйте этот режим с осторожностью (чтобы не перезаписать какие-либо важные файлы)!

Например, вам нужно при парсинге во вкладке “Контент” открыть файл с локального диска, произвести в его содержимом какие-либо изменения, например, поиск-замену и затем сохранить изменения в этот же файл, используйте подобную конструкцию макросов шаблона вывода:

1
[SAVETOFILE:{notcsv}{utf8}{exact}<CD_DOCURL!>][REPLACE(что заменить|на что заменить)][DOCSOURCE][/REPLACE][/SAVETOFILE]

Content Downloader

Content Downloader


ВАЖНО: Для проверки результатов записи, производите не предпросмотр парсинга контента (как обычно), а парсинг контента (F5). Восстановить прежнее состояние списка ссылок после парсинга вы сможете так: правый клик по списку ссылок -> пункт контекстного меню “отменить последнее действие”.


1 Star2 Stars3 Stars4 Stars5 Stars (оценок: 6, средний балл: 5.00)

Loading...
Автор: admin, 31 May 2014
Рубрики: Парсинг
Tags: , ,
Есть 1 комментарий. к сообщению: “Парсинг одного WEB-документа в несколько разных файлов на диск (сохранение произвольных частей шаблона вывода в указанные файлы макросом [SAVETOFILE])”
  1. MAXiMAX says:

    Сделайте пожалуйста одну страничку с перечнем всех макросов, кратким описанием и ссылками на полное описание.
    Ориентироваться во всем разнообразии макросов очень сложно, а так все будет в одном месте.

Написать комментарий

Последние статьи

css.php