upload.pl
Материал из Викиреальностя
Бот на Perl для загрузки картинок через API на основе текстового файла, на каждой строке которого указаны URL картинки, название для загрузки и краткое описание, разделённые символами табуляции.
Для работы бота необходимо наличие у него флага «upload_by_url» и включенной опции $wgAllowCopyUploads в настройках MediaWiki. Возможность загрузки файлов через API появилась в версии MediaWiki 1.16.
Написан при технической поддержке
.[править] Исходный код
use utf8; use MediaWiki::API; my $mw = MediaWiki::API->new({ api_url => 'http://wikireality.ru/w/api.php' }); $mw->login({ lgname => 'Моё имя', lgpassword => 'Мой пароль' }) || die; # Получение upload token my $res = $mw->api({ action => 'query', prop => 'info', intoken => 'edit', titles => 'Labuda' }) || die "Не могу получить upload token"; my $upload_token = (values %{$res->{query}->{pages}})[0]->{edittoken}; # Чтение файла и загрузка картинок open F, "имя_файла.допустим_txt"; while(my $line = <F>) { chomp $line; my($url, $title, $descr) = split /\t/, $line; # ... $mw->api({ action => 'upload', url => $url, token => $upload_token, asyncdownload => 1, filename => $title, comment => 'Бот: заливка лабуды', text => $descr }); } close F;
Upload.pl относится к теме «Техники и викиботы» |