<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BASH: Скачивание книг]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=7615</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=7615&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BASH: Скачивание книг».]]></description>
		<lastBuildDate>Sun, 23 Sep 2012 06:52:40 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BASH: Скачивание книг]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=64109#p64109</link>
			<description><![CDATA[<p>Другая библиотека - другой скрипт, принцип тот же. </p><p><strong>Требования</strong><br />lib.aldebaran.ru<br />wget, grep, unzip - утилиты, доступные в Cygwin, UnixUtils или GnuWin32<br />.<br /><strong>Код скрипта aldebaran.bat</strong><br /></p><div class="codebox"><pre><code>
@echo off

setlocal

set &quot;book_url=http://lib.aldebaran.ru&quot;

if &quot;%~1&quot; == &quot;&quot; (
	echo.Usage: %~n0 addr [type]
	echo.addr   URL in the following forms
	echo.       %book_url%/author/[0-9A-Za-z_]*/
	echo.       %book_url%/series/[0-9A-Za-z_]*/
	echo.type   fb2 ^(default^), rtf or rb
	goto :EOF
)

set book_logfile=%~n0.log
set book_type=fb2.zip
if /i &quot;%~2&quot; == &quot;fb2&quot; set book_type=fb2.zip
if /i &quot;%~2&quot; == &quot;rtf&quot; set book_type=rtf.zip
if /i &quot;%~2&quot; == &quot;rb&quot;  set book_type=rb

wget -o &quot;%book_logfile%&quot; -cO - &quot;%~1&quot; | grep -o &quot;/author/[0-9A-Za-z_]*/[0-9A-Za-z_]*/&quot; | wget -o &quot;%book_logfile%&quot; -B &quot;%book_url%&quot; -i - -cO - | grep -o &quot;%book_url%/author/[0-9A-Za-z_/]*\.%book_type%&quot; | wget -o &quot;%book_logfile%&quot; -B &quot;%book_url%&quot; -i - -c -nc
if not &quot;%book_type%&quot; == &quot;rb&quot; unzip -o *.zip &gt;&gt;&quot;%book_logfile%&quot; 2&gt;&gt;&amp;1</code></pre></div><p>.<br /><strong>Краткое описание</strong><br />Требует наличие на вашем компьютере программ, указанных в разделе Требования. Скрипт предназначен для скачивания с сайта lib.aldebaran.ru книг заданного автора - либо всех либо из заданной серии (если существует).&nbsp; Выбор определяется используемой ссылкой. </p><p>Скопируйте и сохраните код скрипта в файл <strong>aldebaran.bat</strong>. Найдите на сайте страницу определенного автора, скопируйте URL страницы и запустите скрипт, передав ему адрес страницы в качестве аргумента. По умолчанию скрипт скачивает книги в формате fb2, однако можно вторым параметром указать один из поддерживаемых форматов: <strong>fb2</strong>, <strong>rtf</strong>, <strong>rb</strong>. fb2 и rtf файлы загружаются в упакованном виде, поэтому автоматически для них запускается утилита unzip. <em>После распаковывания архивные файлы не удаляются автоматически. Предполагается, что это должен сделать пользователь. </em><br />.<br /><strong>Пример</strong><br />Команда скачает в текущий каталог доступные fb2-книги Пушкина.<br /></p><div class="codebox"><pre><code>aldebaran http://lib.aldebaran.ru/author/pushkin_aleksandr/</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sun, 23 Sep 2012 06:52:40 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=64109#p64109</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BASH: Скачивание книг]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=64108#p64108</link>
			<description><![CDATA[<p>Уже некоторое время успешно пользуюсь электронной книгой. Нравится. Соответственно появилось новое пристрастие - расширение библиотеки электронных изданий, которые можно скачать в разных форматах из разных источников в интернете. Решил частично автоматизировать процесс скачивания доступных сочинений определенного автора. В результате получился такой скрипт. <br />.<br /><strong>Требования</strong><br />www.likebook.ru<br />wget, grep, sed, tr - утилиты, доступные в Cygwin, UnixUtils или GnuWin32<br />.<br /><strong>Код скрипта likebook.bat</strong><br /></p><div class="codebox"><pre><code>
@echo off

setlocal

set &quot;book_url=http://www.likebook.ru&quot;

if &quot;%~1&quot; == &quot;&quot; (
	echo.Usage: %~n0 addr [type]
	echo.addr   URL in one of the following forms
	echo.       %book_url%/authors/download/[0-9]*/
	echo.       %book_url%/authors/view/[0-9]*/
	echo.type   fb2 ^(default^), html or txt
	goto :EOF
)

set book_logfile=%~n0.log
set book_type=fb2
if /i &quot;%~2&quot; == &quot;fb2&quot;  set book_type=fb2
if /i &quot;%~2&quot; == &quot;html&quot; set book_type=html
if /i &quot;%~2&quot; == &quot;txt&quot;  set book_type=txt

wget -o &quot;%book_logfile%&quot; -cO - &quot;%~1&quot; | grep -o &quot;/books/download/[0-9]*/&quot; | grep -o &quot;[0-9]*&quot; | sed -e &quot;s/.*/\/open\/load.php?book=&amp;/&quot; | wget -o &quot;%book_logfile%&quot; -B &quot;%book_url%&quot; -i - -cO - | tr -d \ | grep -o &quot;/books/%book_type%/[0-9]*/?key=[0-9a-zA-Z]*&quot; | wget -o &quot;%book_logfile%&quot; -B &quot;%book_url%&quot; -i - --content-disposition -c -nc
del index.html* 2&gt;nul</code></pre></div><p>.<br /><strong>Принцип работы</strong><br />Скрипт предназначен для массового скачивания всех доступных на сайте www.likebook.ru произведений заданного автора. Требует наличие на вашем компьютере программ, указанных в разделе <strong>Требования</strong>. </p><p>Скопируйте и сохраните код скрипта в файл <strong>likebook.bat</strong>. Найдите на сайте страницу определенного автора, скопируйте URL страницы и запустите скрипт, передав ему запомненную страницу. По умолчанию скрипт скачивает книги в формате <strong>fb2</strong>, однако можно вторым параметром указать один из поддерживаемых форматов: <strong>fb2</strong>, <strong>html</strong>, <strong>txt</strong>. </p><p>В процессе своей работы скрипт создает в текущем каталоге лог-файл <strong>likebook.log</strong>, который по завершении можно удалить. </p><p>Программа не выполнят проверки корректности заданного URL (в этом нет необходимости). Загружаются только доступные для скачивания файлы. Файлы сохраняются в текущем каталоге. </p><p>Из указанной страницы выделяются ID книг. Из них формируется новый URL, так как сайтом используется AJAX для вывода ссылок на скачивание. Из полученных данных формируются реальные ссылки для скачивания файлов, которые последовательно выгружаются на диск. <br />.<br /><strong>Пример</strong><br />Команда скачает все fb2-книги Пушкина в текущий каталог. <br /></p><div class="codebox"><pre><code>likebook http://www.likebook.ru/authors/view/11583/</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sun, 23 Sep 2012 03:14:05 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=64108#p64108</guid>
		</item>
	</channel>
</rss>
