Заработай на задачках

Понадобился мне тут список ссылок на все статьи этого сайта. В итоге написал небольшой скриптик:

#!/bin/sh #файл куда сохранять ссылки file_name=articles.html #сайт на wordpress site=http://ozi-blog.ru/ #количество страниц max_page=49 #заполняем шапку html-документа echo "<!DOCTYPE html>" > $file_name echo "<html>" >> $file_name echo "<meta charset=\"UTF-8\">" >> $file_name echo "<body>" >> $file_name #тело документа с ссылками i=0 while [ $i -lt $max_page ] do (( i++ )) echo "Обработка страницы $i" wget $site/page/$i/ -O tmp.html &> /dev/null cat tmp.html | grep h2 | grep "a href" | sed 's/<h2[^>]*>//g' | sed 's/<\/h2>/<br \/>/g' >> $file_name rm tmp.html echo "Обработка страницы $i окончена" done #закрываем html-тэги echo "</body>" >> $file_name echo "</html>" >> $file_name

Цикл с длинным конвейером в скрипте делает:

  1. качает страницу сайта и сохраняет её во временном файле;
  2. обходит все страницы моего блога;
  3. выделяет строки с h2;
  4. оставляет только те строчки, в которых есть ссылка;
  5. удаляет тег h2
  6. закрывающуюся часть тэга h2 заменяет на br;
  7. удаляет временный файл.

Стоит отметить, что это всё согласно формата ссылок на отдельные статьи только для моего блога. В вашем случае – подход может немного отличаться.

Получить ссылки на все статьи блога WordPress: 2 комментария

  1. zigazavr on 26.10.2016 at 18:48 пишет:

    Случайно наткнулся на блог из-за статьи http://ozi-blog.ru/ustanovka-xfce-v-ubuntu-16-04/
    Для сбора ссылок на сайте и вообще оп его анализу можно пользоваться различными специализированными средствами: netpeak spider(если поискать можно найти старую бесплатную версию, меня всем устраивает), comparser(бесплатная берет только первые 150 страниц), screaming frog(можно бесплатно получить лицензию)

    • ozi on 26.10.2016 at 23:03 пишет:

      Спасибо большое за комментарий и за названия полезных программок =)

      В этом посте я скорее тренируюсь в решении практических задач с помощью небольших скриптов. Поддерживаю навык, так сказать =) ну и сохраняю их на будущее )

Я буду очень рад комментарию!

Не переживайте, e-mail нигде не отображается. Обязательные поля помечены *

Навигация по записям