Прежде всего, позвольте мне пояснить разницу между «зеркалированием» и «очищением».
Зеркальное отражение относится к загрузке всего содержимого веб-сайта или некоторых известных его разделов (включая HTML, изображения, скрипты, таблицы стилей CSS и т. Д.). Это часто делается для сохранения и расширения доступа к ценному (и часто ограниченному) интернет-ресурсу или к добавлению дополнительной избыточной избыточности. Например, многие университеты и ИТ-компании отражают различные выпуски архивов поставщиков Linux. Зеркалирование может означать, что вы планируете размещать копию веб-сайта на своем собственном сервере (с разрешения владельца оригинального контента).
Скребок относится к копированию и извлечению некоторых интересных данных с веб-сайта. В отличие от зеркалирования, скремблирование задает конкретный набор данных (имена, номера телефонов, котировки акций и т. Д.), А не весь контент сайта. Например, вы можете «скопировать» данные о среднем доходе из Бюро переписи США или котировки акций Google Finance. Это иногда делается против условий и условий хоста, что делает его незаконным.
Эти два устройства могут быть объединены для разделения копирования данных (зеркалирования) на проблемы извлечения информации (скребки). Например, вы можете обнаружить, что его быстрее зеркалировать сайт, а затем очистить локальную копию, если извлечение и анализ данных происходит медленно или интенсивнее.
Чтобы ответить на остальную часть вашего вопроса ...
file_get_contents
и file
PHP функция для чтения файлов из локальной или удаленной машины. Файл может быть HTML-файлом, иначе он может быть чем-то другим, например текстовым файлом или электронной таблицей. Это не то, к чему обычно относится либо «зеркальное отображение», либо «соскабливание», хотя вы можете написать свое собственное зеркало/скребок на основе PHP, используя их.
и curl
являются автономными программами командной строки для загрузки одного или нескольких файлов с удаленных серверов с использованием различных параметров, условий и протоколов. Оба являются невероятно мощными и популярными инструментами, основное отличие состоит в том, что wget
обладает богатыми встроенными функциями для зеркалирования всего веб-сайта.
HTTrack
аналогичен wget
, но использует графический интерфейс вместо командной строки. Это облегчает использование для тех неудобных команд управления с терминала, за счет потери мощности и гибкости, обеспечиваемых wget
.
Вы можете использовать HTTrack
и wget
для зеркалирования, но вам придется запускать свои собственные программы в результирующих загруженных данных, чтобы извлечь (очистить) информацию, если это ваша конечная цель.
Mozenda
является скребок, который, в отличие от HTTrack
, wget
или curl
позволяет целевой конкретные данные должны быть извлечены, а не слепо копировать все содержимое. Однако у меня мало опыта.
P.S. Обычно я использую wget
, чтобы отразить интересующие меня HTML-страницы, а затем запустить комбинацию скриптов Ruby и R для извлечения и анализа данных.
Arman, Спасибо, что ответ был не только быстрым, но и фактически рассмотрел мои проблемы. Это происходит не так часто, как должно. –
Я хотел бы добавить, что HTTrack имеет параметр командной строки. https://www.httrack.com/html/fcguide.html – raRaRa