Наверняка некоторые хабралюди читают книги на сайте http://lib.aldebaran.ru .
Они знают, что с некоторых пор текст на сайте «защищен» от копирования.
Конечно, большинство книг по-прежнему доступны для скачивания в удобных для чтения форматах, но многие популярные книги можно читать только онлайн.
Что неудобно.
Следующий простой скрипт Python загрузит всю книгу, одновременно вырезая весь мусор, набитый туда, чтобы затруднить копирование.
import urllib, re, sys p_key = re.compile('http:\/\/lib\.Скрипт принимает ссылку на любую страницу книги в качестве параметра командной строки и отображает ее текст на стандартном выводе.aldebaran\.
ru\/getpage\/1\/.
*?"') p_span = re.compile('<span class=h>(.
*?)<\/span>') p_s = re.compile('\';s \+= \'') p_p = re.compile('(<p>.
*?<\/p>)') p_url_name = re.compile('^(http:\/\/lib.aldebaran.ru\/author\/.
*?__)') def getpage(url): try: key = p_key.findall(urllib.urlopen(url).
read())[0][-33:-1] except: return None urllib.urlopen(" http://lib.aldebaran.ru/getpage/1/ " + key) .
read() page = urllib.urlopen(" http://lib.aldebaran.ru/getpage/2/ " + key) .
read() page = p_span.sub('', page) page = ''.
join(p_p.findall(page)) page = p_s.sub('', page) return page url = sys.argv[1] url = p_url_name.findall(url)[0] i = 1 while True: page = getpage(url + str(i) + '.
html') i += 1 if page != None: print page else: sys.exit(0)
Его очень легко использовать: Python лит.py lib.aldebaran.ru/author/sadov_sergei/sadov_sergei_klinki_u_trona/sadov_sergei_klinki_u_trona__0.html > лит.html P.S. Пожалуйста, оставьте вопрос этики в стороне.
Лично я плачу за любимые книги напрямую автору.
УПД Я не единственный умный.
В комментариях предложили загрузчик электронных книг — целое приложение, поддерживающее библиотеки Fictionbook, Aldebar, Litportal (требуется .
NET) А еще маленький плагин для Firefox Хабраузер ДиректХ ДиректХ Теги: #python #books #books #aldebaran #Chulan
-
Дополнительные Примечания: Облако Iaas.
19 Oct, 24 -
Физическая Экономика Для Детей, Часть 2
19 Oct, 24 -
Поступление В Американскую Бизнес-Школу
19 Oct, 24 -
Самые Длинные Доменные Имена В Мире
19 Oct, 24 -
Barcamp Central Asia 2009 В Прямом Эфире
19 Oct, 24