🎉 Hello world
This commit is contained in:
49
cron.php
Normal file
49
cron.php
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/bin/php
|
||||
|
||||
<?php
|
||||
|
||||
include 'FeedParser.php';
|
||||
|
||||
$feeds = [
|
||||
'https://www.youtube.com/feeds/videos.xml?channel_id=UCAFQjCZo5okIPkHUQlBZM-g',
|
||||
'https://www.youtube.com/feeds/videos.xml?channel_id=UCk-_PEY3iC6DIGJKuoEe9bw',
|
||||
];
|
||||
|
||||
$to_download = [];
|
||||
|
||||
foreach ($feeds as $feed) {
|
||||
|
||||
$to_add = [];
|
||||
|
||||
$url = $feed;
|
||||
$parts = parse_url($url);
|
||||
$file = sprintf('%s/%s-%s.json', __DIR__, basename($parts['path']), $parts['query']);
|
||||
$first = null;
|
||||
if (!file_exists($file)) {
|
||||
touch($file);
|
||||
$content = [];
|
||||
} else {
|
||||
$content = json_decode(file_get_contents($file));
|
||||
$first = isset($content[0]) ? $content[0] : null;
|
||||
}
|
||||
|
||||
$rss = new FeedParser();
|
||||
|
||||
$rss->parse($feed);
|
||||
$items = $rss->getItems();
|
||||
|
||||
foreach ($items as $article) {
|
||||
$link = sprintf('http://www.youtube.com/watch?v=%s', $article['YT:VIDEOID']);
|
||||
if (!in_array($link, $content)) {
|
||||
$to_add[] = $link;
|
||||
$to_download[] = $link;
|
||||
}
|
||||
}
|
||||
|
||||
file_put_contents($file, json_encode(array_merge($content, $to_add)));
|
||||
}
|
||||
|
||||
foreach ($to_download as $url) {
|
||||
// https://www.reddit.com/r/selfhosted/comments/60hus4/searching_for_a_youtube_2_podcast_solution/
|
||||
shell_exec("youtube-dl --extract-audio --audio-format mp3 -o '/volume1/music/Podcast/Youtube/%(upload_date)s-%(uploader)s-%(title)s.%(ext)s' $url");
|
||||
}
|
Reference in New Issue
Block a user