Автоматическая загрузка газет и журналов!

По адресу Раджан Бхаттарай - 7 months and 2 days ago / Dec 2019
Автоматическая загрузка газет и журналов!

Первоначально размещено на: 2018-10-03. Обновлено: 2019-12-20.


Сегодня утром [3 октября 2018 GMT +545] мы провели удивительную дискуссию в dev.to twitter чате.

Ну, было много удивительных вещей и идей автоматизации, и вот одна из них, которую я разместил в ответ.


Журналы и газеты, перечисленные ниже, являются местными средствами массовой информации и могут не подходить для вашего географического региона или области. Поэтому, пожалуйста, имейте в виду.


За этой идеей:
Основная идея автоматизации загрузки газеты заключается в том, что я часто читаю местную газету, так как редко смотрю новости по телевизору. В основном я работал в интернете, поэтому все, что у меня было, это возможность просматривать газету. Интернет-портал Медиа-хаус дает доступ к скачиванию газеты и журналов в PDF-версии, а также [, которую я сейчас разрабатываю ], так что я придумал эту идею автоматизации. Это очень простой сценарий сценария, который я написал почти полтора года назад. Итак, давайте приступим к работе.



Сценарий:

  • 2 версии газеты, на английском и непальском языках публикуются ежедневно.
  • 1 таблоид, публикуемый еженедельно на непальском языке. [ каждую пятницу! ]
  • 1 журнал, издаваемый еженедельно на непальском языке. [ каждое воскресенье! ]

[Для тех, кто может не знать, непальский язык является национальным языком, на котором говорят здесь, в Непале, в Южной Азии, известной как земля Будды и Горы. Эверест.]

Рабочая хрень

Первое, что мы можем сделать, это проверить дату в системе и получить год, месяц, день и неделю день, который может быть достигнут в вечеринка вот так.

1
2
3
4
5
6
7
8
9
#проверяя дату по системе
y=$(дата +%Y)
#печатает год в полном формате. ячейка: 2017
m=$(дата +%m)
#отпечатки месяца. ячейка: 04
d=$(дата +%d)
#отпечатки дня. Эг: 12
w=$(дата +%u)
#отпечатки дня недели. Eg: 3=среда

Переменные, используемые здесь, будут полезны при использовании с Забудь.

Сначала скрипт проверяет главный каталог, и если каталога там нет, он создает папку. Затем он входит в папку. Скрипт использует почтовый ящик для скачивания бумаги, убедитесь, что она уже установлена в системе, или мы можем проверить и установить, если ее нет. Но за это время я пропускаю эту часть.

Следующий шаг - мы создаем для каждой газеты и журнала отдельную папку, внутри которой сценарий автоматически загружает эпизоды. Пропустив все остальные объяснения, основная задача, которую он будет делать, это проверить папку и создать, если нет, и скачать доступный эпизод, как работает скрипт.

Основная команда, которую мы можем выполнить во время скачивания эпизода, выглядит следующим образом.

1
wget -O [название газеты или журнала] -$y-$m-$d.pdf "http://epaper.ekantipur.com/epaper/name-of-newspaper-or-magazine/$y-$m-$d/$y-$m-$d.pdf"

Несмотря на то, что командный блок самообъясняет, небольшое объяснение.

Эпизодическая версия газеты и журналов на сегодня была бы такой [2018-10-03.pdf], поэтому мы использовали переменную с первого шага для замены в ссылке для скачивания на день. День недели извлекается для проверки еженедельных журналов с учетом понедельника как 1, так как таблоид публикуется каждую пятницу, а журнал - каждое воскресенье.

Следующая часть будет посвящена установке КРОН ДЖОБ где мы скажем сценарий запускать каждые 6 или 7 утра. Итак, мы настраиваем работу как эту:

кронтаб -е

Затем вставьте как

0 6 * * /home/username/script/newspaper-to-pdf.sh где путь к вашему сценарию.

Кроме того, мы можем настроить в cron, чтобы упростить вашу работу. Но в моем случае, я отключил вывод электронной почты. На сегодня всё!

Вот полный сценарий.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/bin/bash
#Description
#program to download the epaper from the kantipur.com
#Available Epapers by ekantipur media
#    Kantipur
#    The Kathmandu Post
#    Saptahik
#    Nepal
# 1. Clone/Download the zip.
# 2. Give execute permission to the script file by  chmod +x ekantipur.sh
# 3. Run the script ./ekantipur.sh .
# Epapers will be downloaded in the following format: Newspapername-year-month-day.pdf
# Replace ~/Newspaper/kantipur/*/* in the download link with the directory to wherever you want to download!

echo "################################################################"
echo "###################  News-2-PDF downloader! ####################"
echo "################################################################"
echo ""
echo "Checking Date with your system.. Please wait!"
#checking the date with the system
y=$(date +%Y)
#prints the year in full format. Eg: 2017
m=$(date +%m)
#prints the month. Eg: 04
d=$(date +%d)
#prints the day. Eg: 12
w=$(date +%u)
#prints the week day. Eg: 3=wednesday

#using wget
#downloading the kantipur[daily-nepali]
#checking the date with the system

echo "Folder may exist. It will automatically enter into the directory if present!"
cd ~
if [ -d Kantipur ]
then
    echo "Directory is present. Entering into the directory..."
else
    echo "Directory is not present. Creating the directory..."
    mkdir Kantipur
fi
cd Kantipur
echo "Downloading Kantipur Dainik for today.. Please wait!"
if [ -d Kantipur-daily ]
then
    echo "Directory is present. Entering into the directory..."
else
    echo "Directory is not present. Creating the directory..."
    mkdir Kantipur-daily
fi
cd Kantipur-daily
wget -O kantipur-$y-$m-$d.pdf "http://epaper.ekantipur.com/epaper/kantipur/$y-$m-$d/$y-$m-$d.pdf"
echo "Successfully downloaded Kantipur for today!"

#downloading the kathmandu post[daily-english]
cd ../
if [ -d Kathamndu-Post ]
then
    echo "Directory is present. Entering into the directory..."
else
    echo "Directory is not present. Creating the directory..."
    mkdir Kathmandu-Post
fi
cd Kathmandu-Post
echo "Downloading The Kathmandu Post for today.. Please wait!"
wget -O thekathmandupost-$y-$m-$d.pdf "http://epaper.ekantipur.com/epaper/the-kathmandu-post/$y-$m-$d/$y-$m-$d.pdf"
echo "Successfully downloaded The Kathmandu Post for today!"

#Saptahik is released every friday!
#checking the system date to match if it is friday
#monday=1
if [ $w == 5 ]
then
echo "Downloading Saptahik for this weekend.. Please wait!"
cd ../
if [ -d Saptahik ]
then
    echo "Directory is present. Entering into the directory..."
else
    echo "Directory is not present. Creating the directory..."
    mkdir Saptahik
fi
cd Saptahik
wget -O saptahik-$y-$m-$d.pdf "http://epaper.ekantipur.com/epaper/saptahik/$y-$m-$d/$y-$m-$d.pdf"
echo "Successfully downloaded Saptahik for this week!"
else
echo "Saptahik isn't available for today! Wait till Friday!"
fi

#Nepal magazine is released every Sunday
#checking the system date to match if it is Sunday
#monday=1
if [ $w == 7 ]
then
echo "Downloading Nepal for this weekend.. Please wait!"
cd ../
if [ -d Nepal ]
then
    echo "Directory is present. Entering into the directory..."
else
    echo "Directory is not present. Creating the directory..."
    mkdir Nepal
fi
cd Nepal
wget -O nepal-$y-$m-$d.pdf "http://epaper.ekantipur.com/epaper/nepal/$y-$m-$d/$y-$m-$d.pdf"
echo "Successfully downloaded Nepal for this weekend!"
else
echo "Nepal magazine isn't available for today! Wait till Sunday!"
fi
echo "################################################################"
echo "################  Operation Successfully completed! ############"




Раджан Бхаттарай
Раджан Бхаттарай
Инженер-программист по работе. Разработчик Full Stack Ruby on Rails. DevOps и Blockchain.Tech Blogger. Запросы и статьи: hello@cdrrazan.com -Rb.


комментарии на основе Disqus