Делаем дамп цитат из greatwords.ru

Искусство написания bash скриптов. Делимся своими наработками
Ответить
Аватара пользователя
ZEN
Администратор
Сообщения: 1358
Зарегистрирован: 27 сен 2012, 18:23
Темы: 208
Откуда: Украина, Одесса
Статус: Не в сети

Делаем дамп цитат из greatwords.ru

Сообщение ZEN » 17 апр 2016, 00:49

Следующий нехитрый скрипт парсит цитаты из сайта указанного в теме и помещает их в файл quotes_dump.txt. Если выкачать не удалось, то id-шник цитаты помещается в файл quotes_fail.txt

Код: Выделить всё

#!/usr/bin/env bash

BASE_URL="http://greatwords.ru/quote/";
USERAGENT="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0";

OUT_FILE="quotes_dump.txt";
ERR_FILE="quotes_fail.txt";

for id in {1..16067}; do
    QUOTE=$(
        wget -U "$USERAGENT" -q "$BASE_URL$id" -O - \
            | sed 's|<h2| (c) <h2|g' \
            | awk '/quote-p/,/<\/h2>/{print $0}' \
            | w3m -T text/html -dump
    );
    test -n "$QUOTE" && {
        echo -en "\r$id";
        echo "### START ### $id" >> "$OUT_FILE";
        echo "$QUOTE" >> "$OUT_FILE";
        echo "### END ###" >> "$OUT_FILE";
    } || {
        echo -e "\rFailed to fetch quote #$id";
        echo "$id" >> "$ERR_FILE";
    }
    sleep 0.5s;
done

echo;

exit 0;
 
Как экспортировать цитаты из текстового дампа в sqlite3 базу читаем тут
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей