1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Algebra-FUN-WeReadScan

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

WeReadScan

О проекте

WeReadScan — это библиотека для сканирования и преобразования в PDF или HTML книг, доступных на платформе «微信读书».

О проекте

«微信读书» — это хорошая платформа. Однако у неё есть очевидный недостаток: пользователи покупают книги, но могут читать их только в приложении «微信读书», либо делать текстовые заметки. Эти функции явно недостаточны по сравнению с бумажными книгами. Например, автор привык делать заметки на iPad, а в «微信读书» нет функции для рукописных заметок.

Поэтому, раз «微信读书» не предоставляет такой возможности, нужно решить проблему самостоятельно. В итоге, после двух дней разработки появился этот скрипт-паук, и теперь можно с удовольствием делать рукописные заметки.

Версии

По совету Sec-ant, была взята за основу его решение weread-scraper, и наиболее важная часть скрипта, связанная с получением #preRenderContent, была интегрирована в WeReadScan-HTML. Это позволило автоматически получать HTML-код для нескольких книг более эффективно.

Начало работы

pip install WeReadScan-HTML

Для этого проекта требуется использование selenium, необходимо иметь базовые знания о нём.

Пример использования

Перейдём сразу к коду:

from selenium.webdriver import Edge
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.edge.options import Options

from WeReadScan import WeRead

options = Options()
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument('disable-infobars')
options.add_argument('log-level=3')
options.add_argument("headless")

# launch Webdriver
print('Webdriver launching...')
driver = Edge(options=options)
# driver = Edge(service=service, options=options)
print('Webdriver launched.')

with WeRead(driver,debug=True) as weread:
    weread.login() #? login for grab the whole book
    weread.scan2html('https://weread.qq.com/web/reader/2c632ef071a486a92c60226kc81322c012c81e728d9d180')
    weread.scan2html('https://weread.qq.com/web/reader/a9c32f40717db77aa9c9171kc81322c012c81e728d9d180')

Пример результата сканирования:

Несколько замечаний:

  1. Webdriver должен запускаться в безголовом режиме (headless).
  2. Только после входа в систему можно сканировать все ресурсы книги; если не войти в систему, можно сканировать части, которые не требуют разблокировки.

API Reference

WeRead

WeReadScan.WeRead(headless_driver)

Этот прокси-сервер «微信读书» используется для сканирования книг.

Args

  • headless_driver: пример Webdriver с установленным headless режимом.

Returns

  • WeReadInstance

Usage

chrome_options = ChromeOptions()
chrome_options.add_argument('--headless')
headless_driver = Chrome(chrome_options=chrome_options)
weread = WeRead(headless_driver)

Login

WeReadScan.WeRead.login(wait_turns=15)

Отображает QR-код для входа в «微信读书».

Args

  • wait_turns: количество раундов ожидания для сканирования QR-кода при входе.

Usage

weread.login()

Scan2html

WeReadScan.WeRead.scan2html(book_url, save_at='.', show_output=True)

Сканирует книги на «微信读书» и сохраняет их локально в формате PDF.

Args

参数名 类型 默认值 描述
book_url str 必填 URL сканируемой книги
save_at str '.' Путь сохранения файлов
show_output bool True Отображать ли PDF-файл после завершения метода

Usage

weread.scan2html('https://weread.qq.com/web/reader/a57325c05c8ed3a57224187kc81322c012c81e728d9d180')

Disclaimer

  • Этот скрипт предназначен только для сканирования купленных книг для личного изучения и не должен использоваться в коммерческих целях или для распространения онлайн-ресурсов. Уважайте интересы «微信读书».
  • Если пользователь использует этот скрипт ненадлежащим образом, ответственность несёт пользователь, автор не несёт никакой ответственности.

Stargazers over time

Stargazers over time

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/Algebra-FUN-WeReadScan.git
git@api.gitlife.ru:oschina-mirror/Algebra-FUN-WeReadScan.git
oschina-mirror
Algebra-FUN-WeReadScan
Algebra-FUN-WeReadScan
master