Владимир55
2.01.2017 - 01:56
Сервис аудита показывает, что на сайте имеются внутренние ссылки с неверным синтаксисом. Немного, но есть. А где именно, понять не удается.
В связи с этим хочу скачать сайт на денвер и тогда уже поиском по файлам этот дефект наверняка найдется (он содержит диез).
Как сделать РНР скрипт, который пройдет по всем ссылкам сайта и скачает все страницы на компьютер?
(Тут нужна рекурсия, но я сам с этим точно не справлюсь. Помнится, что где-то в сети я такой скрипт уже видел и он, вроде бы, не очень сложный. Тогда был не нужен, а сейчас найти его не удается).
walerus
2.01.2017 - 02:04
Что мешает его скачать по фтп?, если сайт Ваш... А если не Ваш то как собираетесь править?, страницы динамические или статика?
Напишите обычный парсер ссылок со страницы и гоняйте его по этим ссылкам.
Владимир55
2.01.2017 - 02:26
Цитата (walerus @ 1.01.2017 - 22:04) |
Что мешает его скачать по фтп?, если сайт Ваш... |
Сайт-то мой, но что толку от скачивания по фтп? Это же я скачаю не сайт, а CMS!
Я это давно уже сделал, но это совершенно не дает результата.
Цитата (walerus @ 1.01.2017 - 22:04) |
Напишите обычный парсер ссылок со страницы и гоняйте его по этим ссылкам. |
Вроде бы это и не сложно, но парсер будет ходить бесконечно, поскольку ссылки поведут его с главной по ветвям, по кольцам и т.д.
С ума сойдешь все это отлаживать!
Любой "оффлайн-браузер" в помощь.
_____________
Бесплатному сыру в дырки не заглядывают...
Цитата |
но парсер будет ходить бесконечно
|
ну это уже в зависимости от того откуда руки растут. если запоминанать что уже было проверено, а что нет, то никаких бесконечных хождений не будет.
кстати могу посоветовать книгу:
https://www.nostarch.com/webbots2 .
sergeiss
2.01.2017 - 11:57
Цитата (Владимир55 @ 2.01.2017 - 01:56) |
Как сделать РНР скрипт, который пройдет по всем ссылкам сайта и скачает все страницы на компьютер? |
Владимир, а почему именно ПХП? У тебя же проблема, по сути дела, на клиентской стороне. Ну так там и работай!
Предлагаю такой порядок действий.
1. Сделать нужный user script, который будет заниматься парсингом. Что это такое - можно прочитать тут
http://xdan.ru/ustanovka-sobstvennih-users...gle-chrome.html и погуглить самому.
2. Твой скрипт проверяет все страницы сайта, пишет все ссылки в localStorage, после чего анализирует их и, если надо, переходит по ним (только по внутренним).
3. Запись в localStorage будет типа БД, чтобы зафиксировать, на какой странице была ссылка, насколько она качественная, был ли сделан переход по ней, что вообще была попытка перейти (чтобы не делать бесконечные петли)... Формат записи тут нужен JSON, т.к. работать будешь с JS, а для JS удобнее сохранять данные в JSON.
4. Анализируешь полученный результат.
Цитата (Владимир55 @ 2.01.2017 - 01:56) |
Тут нужна рекурсия, но я сам с этим точно не справлюсь. |
Считай, что у тебя задание такое, которое ты должен сделать сам

Хоть на ПХП, хоть на JS. И лучше на JS. Потому что если есть хоть одна ссылка, которая формируется динамически, то на ПХП ты получишь неполноценный результат.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Владимир55
2.01.2017 - 12:38
Похоже, что я зря испугался...
Получается, что тут самому сделать даже проще, чем разбираться и отлаживать готовые скрипты.
walerus
3.01.2017 - 16:13
Владимир55
Конечно зря испугался, парсер написать... ну час от силы с перерывами на бутерброды и кофе, а если еще и курл многостаночный заюзать, то вообще - парсер "разорвет" сайт за 10ть минут, если конечно скоростя позволяют.
Складывать в разные коробочки "ссылка" <=> "собранные с нее урлы", есть ошибка(диез) в этих собранных урлах, откладывать в третью коробочку ( "ссылка" <=> "ошибочные на ней урлы" ), и дальше парсить НЕ пройденные ранее урлы.
Владимир55
3.01.2017 - 16:23
За час я, конечно же, не уложился, поскольку "раскладывание по коробочкам" оказалось не столь простым делом, но это уж всяко лучше, чем собирать скрипты по сети, на что я потратил два дня. При этом еще и вирусов натаскал.
На практике оказалось, что скачанный контент и сохранять-то не надо!
walerus
3.01.2017 - 22:49
Владимир55Конечно не надо, для чего он? - нужны были только ссылки и ошибочные ссылки
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.