Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Не работает #10

Closed
fabrikant opened this issue Jul 16, 2023 · 5 comments
Closed

Не работает #10

fabrikant opened this issue Jul 16, 2023 · 5 comments

Comments

@fabrikant
Copy link

fabrikant commented Jul 16, 2023

Привет! Такое ощущение, что не работает. В текущем каталоге создается папка для книги и после: Fetching book metadata, please stand by...
Ничего не происходит. Процессор грузит на 100%, сетевой активности нет.
Посмотрите пожалуйста!
Ubuntu 22.04
Если от меня что-то нужно логи и т.п., без проблем.
Заранее спасибо!

python3 app.py https://akniga.org/morua-andre-otel-tanatos

geckodriver.log

1689486805419	geckodriver	INFO	Listening on 127.0.0.1:51223
1689486805789	mozrunner::runner	INFO	Running command: "/snap/firefox/current/firefox.launcher" "--marionette" "-headless" "--remote-debugging-port" "45601" "--remote-allow-hosts" "localhost" "-no-remote" "-profile" "/tmp/rust_mozprofilePy0PAo"
*** You are running in headless mode.
Gtk-Message: 11:53:25.821: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it.
console.warn: services.settings: Ignoring preference override of remote settings server
console.warn: services.settings: Allow by setting MOZ_REMOTE_SETTINGS_DEVTOOLS=1 in the environment
1689486806119	Marionette	INFO	Marionette enabled
1689486806122	Marionette	INFO	Listening on port 41553
Read port: 41553
WebDriver BiDi listening on ws://127.0.0.1:45601
1689486806268	RemoteAgent	WARN	TLS certificate errors will be ignored for this session
1689486806336	RemoteAgent	INFO	Proxy settings initialised: {"proxyType":"manual","httpProxy":"127.0.0.1:34801","sslProxy":"127.0.0.1:34801"}
[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
console.error: ({})
console.warn: SearchSettings: "get: No settings file exists, new profile?" (new NotFoundError("Could not open the file at /tmp/rust_mozprofilePy0PAo/search.json.mozlz4", (void 0)))
[ERROR glean_core] Error setting metrics feature config: Json(Error("EOF while parsing a value", line: 1, column: 0))
DevTools listening on ws://127.0.0.1:45601/devtools/browser/b9f3c953-edf0-4885-b014-c0fbc0f5a293
console.error: ({})
console.error: ({})
JavaScript warning: https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js, line 15: WEBGL_debug_renderer_info is deprecated in Firefox and will be removed. Please use RENDERER.
JavaScript error: resource://gre/modules/LoginManagerChild.jsm, line 117: NS_NOINTERFACE: Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsIWebProgress.DOMWindow]
JavaScript error: resource://gre/modules/LoginManagerChild.jsm, line 117: NS_NOINTERFACE: Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsIWebProgress.DOMWindow]
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
@deathtracktor
Copy link
Owner

deathtracktor commented Jul 16, 2023

Привет!

"У меня всё работает", Линукса нету под рукой чтобы проверить :)

Попробуй закомментировать строку 63 и посмотреть, открывается ли браузер вообще. Можно еще обновить geckodriver и сам Firefox до последней версии.

В моем логе отсутствуют сообщения Exiting due to channel error. - на эту тему Гугл подсказывает несколько обсуждений.

Напиши что получится, будем дальше разбираться.

ps. Спасибо за пользование этим поделием!

@fabrikant
Copy link
Author

Привет! Прошу прощения, что не сразу ответил. Уезжал и был без связи несколько дней.
В общем разобрался. Действительно все работает! Оказалось, что нужно открыть firefox и прощелкать приветствие первого запуска. Я этим браузером не пользуюсь и он у меня в системе ни разу не открывался...
В общем все отлично! Работает замечательно! Спасибо большое за качалку!

@fabrikant
Copy link
Author

И все-таки есть проблема. Некоторые книги качаются нормально. А некоторые нет.
Например без проблем качается: https://akniga.org/poedinok-spektakl
А вот эта никак: https://akniga.org/kuprin-poedinok
После сообщения: Fetching book metadata, please stand by...
Висит, грузит на 100% процессор, потихоньку выжирает всю доступную память, а когда память кончается вываливается:

Traceback (most recent call last):
File "/home/artem/audioknigi-club-downloader-app/app.py", line 173, in
cli()
File "/home/artem/audioknigi-club-downloader-app/.venv/lib/python3.10/site-packages/click/core.py", line 1137, in call
return self.main(*args, **kwargs)
File "/home/artem/audioknigi-club-downloader-app/.venv/lib/python3.10/site-packages/click/core.py", line 1062, in main
rv = self.invoke(ctx)
File "/home/artem/audioknigi-club-downloader-app/.venv/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/artem/audioknigi-club-downloader-app/.venv/lib/python3.10/site-packages/click/core.py", line 763, in invoke
return __callback(*args, **kwargs)
File "/home/artem/audioknigi-club-downloader-app/app.py", line 160, in cli
playlist_url = get_signed_playlist_url(audio_book_url)
File "/home/artem/audioknigi-club-downloader-app/app.py", line 50, in get_signed_playlist_url
with open_browser(url) as browser:
File "/usr/lib/python3.10/contextlib.py", line 135, in enter
return next(self.gen)
File "/home/artem/audioknigi-club-downloader-app/app.py", line 66, in open_browser
browser.get(url)
File "/home/artem/audioknigi-club-downloader-app/.venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 449, in get
self.execute(Command.GET, {"url": url})
File "/home/artem/audioknigi-club-downloader-app/.venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 440, in execute
self.error_handler.check_response(response)
File "/home/artem/audioknigi-club-downloader-app/.venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Failed to decode response from marionette

Ощущение, что в какую-то бесконечную рекурсию попадает...

@deathtracktor
Copy link
Owner

deathtracktor commented Jul 27, 2023

У меня работают оба URLа, запуск браузера длится секунд 15 на довольно старом лэптопе ¯\_(ツ)_/¯

StackOverflow намекает на возможную нехватку памяти, и еще пару дополнительных вариантов.

@fabrikant
Copy link
Author

Памяти 16Гб + 8Гб своп
Решил попробовать под виндой. Винда под virtualbox. Установил всё. Запустил:

(.venv) C:\audioknigi-club-downloader-app-master>python app.py https://akniga.org/kuprin-poedinok
Fetching book metadata, please stand by...
Traceback (most recent call last):
File "C:\audioknigi-club-downloader-app-master\app.py", line 173, in
cli()
File "C:\audioknigi-club-downloader-app-master.venv\Lib\site-packages\click\core.py", line 1137, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\audioknigi-club-downloader-app-master.venv\Lib\site-packages\click\core.py", line 1062, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "C:\audioknigi-club-downloader-app-master.venv\Lib\site-packages\click\core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\audioknigi-club-downloader-app-master.venv\Lib\site-packages\click\core.py", line 763, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\audioknigi-club-downloader-app-master\app.py", line 160, in cli
playlist_url = get_signed_playlist_url(audio_book_url)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\audioknigi-club-downloader-app-master\app.py", line 50, in get_signed_playlist_url
with open_browser(url) as browser:
File "C:\Users\artem\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 137, in enter
return next(self.gen)
^^^^^^^^^^^^^^
File "C:\audioknigi-club-downloader-app-master\app.py", line 66, in open_browser
browser.get(url)
File "C:\audioknigi-club-downloader-app-master.venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 449, in get
self.execute(Command.GET, {"url": url})
File "C:\audioknigi-club-downloader-app-master.venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 440, in execute
self.error_handler.check_response(response)
File "C:\audioknigi-club-downloader-app-master.venv\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: Navigation timed out after 300000 ms
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:187:5
TimeoutError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:674:5
bail@chrome://remote/content/marionette/sync.sys.mjs:213:19

НО! Тут же запускаю из под убунты. И пошла загрузка!!!
(.venv) artem@lenovo:~/audioknigi-club-downloader-app$ python app.py https://akniga.org/kuprin-poedinok
Fetching book metadata, please stand by...
Downloading segment 1003/1413 [29:20]

Под убунтой НИЧЕГО не делал/не менял с прошлого раза.
Я не знаю как это работает и от чего зависит... Может надо браузер запускать предварительно или наоборот не запускать? Буду наблюдать...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants