рУССКИЙ
ИДИ НАХУЙ

Есть много прог/плагинов, которые позволяют качать свои аудизаписи с ВК. Но что делать, если нужно скачать все аудио с паблика?

Самый простой вариант - это парсинг html. Изобретать велосипед не стал - скролил страницу кнопкой End до первого поста. Думаю, можно было бы заюзать фугкцию wall.showMore(10), но было лень.
В общем, готовый файл весил 25 метров.
Скрипт написан на скорую руку, лишь бы работало!
Да, использую библиотеку CDom. https://github.com/amal/CDom . Лень было писать свой парсер.

 

 require_once __DIR__ . '/CDom-master/CDom.php';

$matches = array();
$myfile = fopen("links.txt", "w");

$i = 100;
$link = '';
$handle = fopen(__DIR__ . '/8bit_full.html', "r");
if ($handle) {
  while (($line = fgets($handle)) !== false) {

    if (strpos($line,'

 

Скрипт читает сохраненный html и сохраняет пару url file в файл.

Дальше решил сделать с помощью bash

 

#!/bin/sh

while read url file; do
 while [[ "$(pgrep -fc wget)" -gt 9 && $c -gt 10 ]]; do sleep 1; done; 
 ((c++));  
 echo "Launching $url ($c)";
 mkdir -p "${file%/*}"
 wget -c -O "$file" "$url" >/dev/null 2>&1 && echo "$c finsihed" & 
 #wget --post-data="$post" $url >/dev/null 2>&1 && echo "$c finsihed" & 
done 

 

В этом скрипте я параллельно запускаю по 10 закачек. Распарареливание с помощью wget  в действии!!
Итого с сообщества 8битной музыки https://vk.com/e_music_8bit было сграблено 3437 треков.

Решение кастомной и не претендует на универсальность. Писал же для себя)

Добавить комментарий

Содержимое данного поля является приватным и не предназначено для показа.
  • HTML-теги не обрабатываются и показываются как обычный текст
   .oooo.        .ooo    ooooooooo.                .oooooo.        .   
.dP""Y88b .88' `888 `Y88. d8P' `Y8b .o8
]8P' d88' 888 .d88' oooo d8b 888 .o888oo
<88b. d888P"Ybo. 888ooo88P' `888""8P 888 888
`88b. Y88[ ]88 888`88b. 888 888 888
o. .88P `Y88 88P 888 `88b. 888 `88b ooo 888 .
`8bd88P' `88bod8' o888o o888o d888b `Y8bood8P' "888"


Введите код, изображенный в стиле ASCII-арт.
рУССКИЙ
ИДИ НАХУЙ