「利用者・トーク:夜泣き」の版間の差分
ナビゲーションに移動
検索に移動
→スクリプトに欲しい機能
>Fet-Fe (→v2.1.5) |
>Fet-Fe |
||
(3人の利用者による、間の22版が非表示) | |||
7行目: | 7行目: | ||
**Fet-Fe師との出会いに感謝。今週中に作るつもりにしときます。検索クエリに日付入れる感じでやっていく予定。--[[利用者:夜泣き|夜泣き]] ([[利用者・トーク:夜泣き|トーク]]) 2022年9月12日 (月) 19:19 (JST) | **Fet-Fe師との出会いに感謝。今週中に作るつもりにしときます。検索クエリに日付入れる感じでやっていく予定。--[[利用者:夜泣き|夜泣き]] ([[利用者・トーク:夜泣き|トーク]]) 2022年9月12日 (月) 19:19 (JST) | ||
**完成したのでとりあえず取り急ぎ。検索クエリに日付入れようとしたらドツボにハマったのでツイートから日付読み出すようにしましたを--[[利用者:夜泣き|夜泣き]] ([[利用者・トーク:夜泣き|トーク]]) 2022年9月17日 (土) 22:36 (JST) | **完成したのでとりあえず取り急ぎ。検索クエリに日付入れようとしたらドツボにハマったのでツイートから日付読み出すようにしましたを--[[利用者:夜泣き|夜泣き]] ([[利用者・トーク:夜泣き|トーク]]) 2022年9月17日 (土) 22:36 (JST) | ||
*オプションで--krswを指定した時にも上限以内で引っかかった書き込みがあると自動停止する機能が欲しいですを<br>例えば--stop-condition "稲ちゃんが不正ログインと言っているんだ。みんなこれは解散だよ。"<ref>当職の英語力は唐澤貴洋なので条件の英訳はconditionが一番適切なのかが分かりません</ref>と書いたら https://x.com/CallinShow/status/1818847336296333529 で自動停止するといった次第でふ<br>\nで改行を指定出来る仕様はあっても無くても構いません。--[[利用者:唐澤貴洋 部下に熱湯|唐澤貴洋 部下に熱湯]] ([[利用者・トーク:唐澤貴洋 部下に熱湯|トーク]]) 2024年9月1日 (日) 04:20 (JST) | |||
**[[#v4.4.0|v4.4.0]]で機能を追加しました。<code>--krsw</code>の後ろに自動停止させたいテキストを入れてください。改行には対応しておりません--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2024年9月4日 (水) 02:08 (JST) | |||
== [[利用者:夜泣き/スクリプト]]について == | == [[利用者:夜泣き/スクリプト]]について == | ||
116行目: | 118行目: | ||
またそれに伴い、特定のワードを検索して絞り込む機能が使えなくなったので、とりあえず全てのツイートを巡回して、指定のワードをすべて含むツイートのみを保存する方法に変更しました。だいぶ効率が悪いです。またこの機能のテストもまだしていません。--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2023年4月29日 (土) 16:33 (JST) | またそれに伴い、特定のワードを検索して絞り込む機能が使えなくなったので、とりあえず全てのツイートを巡回して、指定のワードをすべて含むツイートのみを保存する方法に変更しました。だいぶ効率が悪いです。またこの機能のテストもまだしていません。--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2023年4月29日 (土) 16:33 (JST) | ||
=== スクリプトが現在動かなくなっています === | |||
v3.0.3のスクリプトが現在正常に動作しません。 | |||
原因として、 | |||
# Tor版のnitterがtwitterの情報を取ってこられない | |||
# archive.todayがcurlやpythonのrequestモジュールでアクセスできない | |||
ことがあげられます。 | |||
1は最悪Tor版でないnitterを使えばなんとかなりますが、2が今のところ解決できていません。--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2023年9月15日 (金) 02:12 (JST) | |||
:{{CM}} - 魚拓に関してですが、恐らくreCaptureに引っかかっていると思われます。archive.todayさんサイドが導入を継続する限り解決は難しいかと。--[[利用者:化学に強い弁護士|化学に強い弁護士]] ([[利用者・トーク:化学に強い弁護士|トーク]]) 2023年9月15日 (金) 11:37 (JST) | |||
=== v4.0.0 === | |||
reCAPTCHAに対処するため、SeleniumでTor Browserを動かして自分で解けるようにしました。 | |||
JavaScriptがonでないと解けないのであまり好ましくはありませんが、仕方ないです。 | |||
TODO | |||
* Seleniumが必要なくなったときのために、Requestsだけで動くモードを追加する | |||
* 動画を自動取得できるようにする | |||
* JavaScriptのオンオフを切り替えられるようにする(必要?) | |||
* バグがないか確認する | |||
* もっと読みやすくする | |||
急いで作ったので雑です。皆様直してください。--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2023年9月24日 (日) 00:04 (JST) | |||
=== v4.0.2 === | |||
Requestsだけで動くモードを追加しました。またJavaScriptをオフにするオプションを追加しました。 | |||
また[https://pep8-ja.readthedocs.io PEP8]の書き方に順次対応するため、インデントをスペース4つにしました。 | |||
TODO | |||
* 動画を自動取得できるようにする | |||
* JavaScriptのオンオフを途中で切り替えられるようにする(必要?) | |||
* <code>_fail</code>や<code>_make_txt</code>では<code>exit</code>で終了するのをやめ、正常終了時はループを抜けて終了するようにする。 | |||
* <code>_txt_data</code>の組み立てを別のBuilderクラスに逃す | |||
* _<code>check_slash</code>がなくても動くようにする | |||
* [https://pep8-ja.readthedocs.io PEP8]に準拠した書き方にする | |||
* 出力にLoggerを利用する | |||
* バグがないか確認する--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2023年9月25日 (月) 02:14 (JST) | |||
==== 不具合報告(v4.0.2) ==== | |||
本スクリプトをWhonix環境で実行したところ、下記のエラーを出力しました。念のためpip install typingを実行しても変わらず(長いのでエラー内容は折りたたんで書きます)実行出来ませんでした。当職が無能なだけなのかプログラムに不備があるのかは分かりませんが。 | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
pip install typingを実行した時のエラー | |||
<div class="mw-collapsible-content"> | |||
<pre> | |||
(venv) user@host:~$ pip install typing | |||
Collecting typing | |||
Downloading typing-3.7.4.3.tar.gz (78 kB) | |||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.6/78.6 kB 128.3 kB/s eta 0:00:00 | |||
Installing build dependencies ... done | |||
Getting requirements to build wheel ... done | |||
Preparing metadata (pyproject.toml) ... error | |||
error: subprocess-exited-with-error | |||
× Preparing metadata (pyproject.toml) did not run successfully. | |||
│ exit code: 1 | |||
╰─> [88 lines of output] | |||
/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/dist.py:498: SetuptoolsDeprecationWarning: Invalid dash-separated options | |||
!! | |||
******************************************************************************** | |||
Usage of dash-separated 'license-file' will not be supported in future | |||
versions. Please use the underscore name 'license_file' instead. | |||
See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. | |||
******************************************************************************** | |||
!! | |||
opt = self.warn_dash_deprecation(opt, section) | |||
/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` | |||
!! | |||
******************************************************************************** | |||
The license_file parameter is deprecated, use license_files instead. | |||
By 2023-Oct-30, you need to update your project and remove deprecated calls | |||
or your builds will no longer be supported. | |||
See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. | |||
******************************************************************************** | |||
!! | |||
parsed = self.parsers.get(option_name, lambda x: x)(value) | |||
running dist_info | |||
creating /tmp/pip-modern-metadata-_760nep_/typing.egg-info | |||
writing /tmp/pip-modern-metadata-_760nep_/typing.egg-info/PKG-INFO | |||
writing dependency_links to /tmp/pip-modern-metadata-_760nep_/typing.egg-info/dependency_links.txt | |||
writing top-level names to /tmp/pip-modern-metadata-_760nep_/typing.egg-info/top_level.txt | |||
writing manifest file '/tmp/pip-modern-metadata-_760nep_/typing.egg-info/SOURCES.txt' | |||
reading manifest file '/tmp/pip-modern-metadata-_760nep_/typing.egg-info/SOURCES.txt' | |||
reading manifest template 'MANIFEST.in' | |||
adding license file 'LICENSE' | |||
writing manifest file '/tmp/pip-modern-metadata-_760nep_/typing.egg-info/SOURCES.txt' | |||
creating '/tmp/pip-modern-metadata-_760nep_/typing-3.7.4.3.dist-info' | |||
Traceback (most recent call last): | |||
File "/home/user/venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module> | |||
main() | |||
File "/home/user/venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main | |||
json_out['return_val'] = hook(**hook_input['kwargs']) | |||
File "/home/user/venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel | |||
return hook(metadata_directory, config_settings) | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 396, in prepare_metadata_for_build_wheel | |||
self.run_setup() | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 507, in run_setup | |||
super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script) | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 341, in run_setup | |||
exec(code, locals()) | |||
File "<string>", line 57, in <module> | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/__init__.py", line 103, in setup | |||
return distutils.core.setup(**attrs) | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup | |||
return run_commands(dist) | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands | |||
dist.run_commands() | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands | |||
self.run_command(cmd) | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 989, in run_command | |||
super().run_command(command) | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command | |||
cmd_obj.run() | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/command/dist_info.py", line 112, in run | |||
bdist_wheel = self.get_finalized_command('bdist_wheel') | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 304, in get_finalized_command | |||
cmd_obj = self.distribution.get_command_obj(command, create) | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 860, in get_command_obj | |||
klass = self.get_command_class(command) | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 736, in get_command_class | |||
self.cmdclass[command] = cmdclass = ep.load() | |||
File "/usr/local/lib/python3.10/importlib/metadata/__init__.py", line 171, in load | |||
module = import_module(match.group('module')) | |||
File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module | |||
return _bootstrap._gcd_import(name[level:], package, level) | |||
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import | |||
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load | |||
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked | |||
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked | |||
File "<frozen importlib._bootstrap_external>", line 883, in exec_module | |||
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 28, in <module> | |||
from .macosx_libfile import calculate_macosx_platform_tag | |||
File "/tmp/pip-build-env-5gip_o42/overlay/lib/python3.10/site-packages/wheel/macosx_libfile.py", line 43, in <module> | |||
import ctypes | |||
File "/usr/local/lib/python3.10/ctypes/__init__.py", line 8, in <module> | |||
from _ctypes import Union, Structure, Array | |||
ImportError: libffi.so.7: cannot open shared object file: No such file or directory | |||
[end of output] | |||
note: This error originates from a subprocess, and is likely not a problem with pip. | |||
error: metadata-generation-failed | |||
× Encountered error while generating package metadata. | |||
╰─> See above for output. | |||
note: This is an issue with the package mentioned above, not pip. | |||
hint: See above for details. | |||
</pre> | |||
</div> | |||
</div> | |||
プログラム実行時のエラーは下記の通りです。 | |||
<pre> | |||
(venv) user@host:~$ python3 '/home/user/Desktop/降臨ショー.py' | |||
Traceback (most recent call last): | |||
File "/home/user/Desktop/降臨ショー.py", line 54, in <module> | |||
from typing import Final, NoReturn, Any, Self | |||
ImportError: cannot import name 'Self' from 'typing' (/usr/local/lib/python3.10/typing.py) | |||
</pre> | |||
補足説明:起動時の環境は当職のユーザーページに書いてあるそれです--[[利用者:化学に強い弁護士|化学に強い弁護士]] ([[利用者・トーク:化学に強い弁護士|トーク]]) 2023年9月27日 (水) 01:54 (JST) | |||
:{{CM|返信}} - <code>typing.Self</code>はpython3.11以上じゃないと使えないみたいですね。3.10以上指定も3.11以上指定もあまり変わらないと思うので、推奨環境を変更しておきます。当職 無能<br>あとWhonixのTor Browserのデフォルトの起動パスを教えていただけますか?今は<code>SeleniumAccessor.TOR_BROWSER_PATHS['Linux']</code>を空にしているので、そこを埋めないと動かないです--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2023年9月27日 (水) 23:48 (JST) | |||
::{{CM|返信}} - T or Browserのディレクトリは恐らく/usr/bin/torbrowserです<br>Python3.11以上を要求しているなら説明資料も恒心しておきます--[[利用者:化学に強い弁護士|化学に強い弁護士]] ([[利用者・トーク:化学に強い弁護士|トーク]]) 2023年9月28日 (木) 01:12 (JST) | |||
=== v4.0.3 === | |||
TODO | |||
*動画を自動取得できるようにする | |||
*JavaScriptのオンオフを途中で切り替えられるようにする(必要?) | |||
*_failや_make_txtではexitで終了するのをやめ、正常終了時はループを抜けて終了するようにする。 | |||
*PEP8に準拠した書き方にする | |||
*docstringを修正する | |||
*バグがないか確認する | |||
::{{CM||化弁師へ}} - <code>SeleniumAccessor.TOR_BROWSER_PATHS['Linux']</code>に<code>/usr/bin/torbrowser</code>を設定しましたが、動きますか?ディレクトリではなくブラウザのバイナリそのものを指定しないと動かないはずです--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2023年9月28日 (木) 02:32 (JST) | |||
:::{{CM|返信}} - コマンドラインで/usr/bin/torbrowserを実行したらブラウザは起動しますが、プログラムは下記のエラーで止まりました。<br> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
プログラム実行時のエラー | |||
<div class="mw-collapsible-content"> | |||
<pre>(venv) user@host:~/Desktop$ python3.11 '/home/user/Desktop/降臨ショー.py' | |||
2023-09-28 13:27:45,358 [WARN] : reCAPTCHA対策のためJavaScriptをonにしますを | |||
Traceback (most recent call last): | |||
File "/home/user/venv/lib/python3.11/site-packages/selenium/webdriver/common/driver_finder.py", line 38, in get_path | |||
path = SeleniumManager().driver_location(options) if path is None else path | |||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |||
File "/home/user/venv/lib/python3.11/site-packages/selenium/webdriver/common/selenium_manager.py", line 98, in driver_location | |||
output = self.run(args) | |||
^^^^^^^^^^^^^^ | |||
File "/home/user/venv/lib/python3.11/site-packages/selenium/webdriver/common/selenium_manager.py", line 144, in run | |||
raise WebDriverException(f"Unsuccessful command executed: {command}.\n{result}{stderr}") | |||
selenium.common.exceptions.WebDriverException: Message: Unsuccessful command executed: /home/user/venv/lib/python3.11/site-packages/selenium/webdriver/common/linux/selenium-manager --browser firefox --browser-path /usr/bin/torbrowser --output json. | |||
{'code': 65, 'message': 'error sending request for url (https://product-details.mozilla.org/1.0/firefox_versions.json): error trying to connect: dns error: failed to lookup address information: Name does not resolve', 'driver_path': '', 'browser_path': ''} | |||
The above exception was the direct cause of the following exception: | |||
Traceback (most recent call last): | |||
File "/home/user/Desktop/降臨ショー.py", line 339, in __init__ | |||
self.driver: webdriver.Firefox = webdriver.Firefox(options=options) | |||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |||
File "/home/user/venv/lib/python3.11/site-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__ | |||
self.service.path = DriverFinder.get_path(self.service, options) | |||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |||
File "/home/user/venv/lib/python3.11/site-packages/selenium/webdriver/common/driver_finder.py", line 41, in get_path | |||
raise NoSuchDriverException(msg) from err | |||
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for firefox using Selenium Manager.; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location | |||
During handling of the above exception, another exception occurred: | |||
Traceback (most recent call last): | |||
File "/home/user/Desktop/降臨ショー.py", line 1537, in <module> | |||
twitter_archiver.execute( | |||
File "/home/user/Desktop/降臨ショー.py", line 1495, in execute | |||
with AccessorHandler(use_browser, enable_javascript) as accessor: | |||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |||
File "/home/user/Desktop/降臨ショー.py", line 435, in __init__ | |||
self.selenium_accessor: SeleniumAccessor | None = SeleniumAccessor( | |||
^^^^^^^^^^^^^^^^^ | |||
File "/home/user/Desktop/降臨ショー.py", line 352, in __init__ | |||
self.quit() | |||
File "/home/user/Desktop/降臨ショー.py", line 358, in quit | |||
if self.driver: | |||
^^^^^^^^^^^ | |||
AttributeError: 'SeleniumAccessor' object has no attribute 'driver' | |||
</pre> | |||
</div> | |||
</div> | |||
また、実行時にこのようなエラーをウィンドウで出力したため、別のところに原因があるのかもしれません。 | |||
<pre> | |||
The following link will be opened in x-www-browser (/usr/bin/whichbrowser). | |||
Be careful if x-www-browser (/usr/bin/whichbrowser) is already running as your activities might get linked. | |||
-v | |||
Continue? | |||
</pre> | |||
恐らくTorブラウザのバイナリの場所はあってると思いますが、もう一度調査してみます。--[[利用者:化学に強い弁護士|化学に強い弁護士]] ([[利用者・トーク:化学に強い弁護士|トーク]]) 2023年9月28日 (木) 22:33 (JST) | |||
:{{CM|返信}} - プログラムのエラーについては実装ミスでした。v4.0.4で同じ操作をして、エラーが出なくなっているか確かめていただけると幸いです。実行時にウィンドウで出ているエラーについてですが、"Continue?"と尋ねられているので、エラーではなくそのまま操作を続けるかどうか聞かれています。<code>y</code>とか<code>yes</code>とか打てばそのまま動くのではないでしょうか--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2023年9月29日 (金) 02:42 (JST) | |||
=== v4.0.5 === | |||
上記TODO解消--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2023年10月1日 (日) 16:42 (JST) | |||
=== v4.1.0 === | |||
*Pythonの対応バージョンが3.12.0以上になりました。 | |||
*archive.todayからwiki未掲載のツイートのURLを収集する機能を追加しました。起動時に<code>-u</code>または<code>--search_unarchived</code>オプションをつけるとそのモードになります--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2023年10月9日 (月) 00:49 (JST) | |||
:{{CM}} - Whonix Workstationを日本語化した当職の環境が悪いのか分かりませんが、下記のエラーを出力して止まりました。相変わらずブラウザーを起動しますか(要約)というエラーは引き続き出ていますが、恐らく別の箇所でエラーが発生しているかと思われます。 | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
プログラム実行時のエラー | |||
<div class="mw-collapsible-content"> | |||
<pre> | |||
(venv) user@host:~$ python3.12 '/home/user/Desktop/降臨ショー.py' | |||
2023-10-19 15:05:34,891 [WARN] : reCAPTCHA対策のためJavaScriptをonにしますを | |||
Traceback (most recent call last): | |||
File "/home/user/venv/lib/python3.12/site-packages/selenium/webdriver/common/driver_finder.py", line 38, in get_path | |||
path = SeleniumManager().driver_location(options) if path is None else path | |||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |||
File "/home/user/venv/lib/python3.12/site-packages/selenium/webdriver/common/selenium_manager.py", line 98, in driver_location | |||
output = self.run(args) | |||
^^^^^^^^^^^^^^ | |||
File "/home/user/venv/lib/python3.12/site-packages/selenium/webdriver/common/selenium_manager.py", line 144, in run | |||
raise WebDriverException(f"Unsuccessful command executed: {command}.\n{result}{stderr}") | |||
selenium.common.exceptions.WebDriverException: Message: Unsuccessful command executed: /home/user/venv/lib/python3.12/site-packages/selenium/webdriver/common/linux/selenium-manager --browser firefox --browser-path /usr/bin/torbrowser --output json. | |||
{'code': 65, 'message': 'error sending request for url (https://ftp.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/en-US/firefox-118.0.2.tar.bz2): error trying to connect: dns error: failed to lookup address information: Try again', 'driver_path': '', 'browser_path': ''} | |||
The above exception was the direct cause of the following exception: | |||
Traceback (most recent call last): | |||
File "/home/user/Desktop/降臨ショー.py", line 2029, in <module> | |||
twitter_archiver.execute( | |||
File "/home/user/Desktop/降臨ショー.py", line 1697, in execute | |||
with AccessorHandler(use_browser, enable_javascript) as accessor: | |||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |||
File "/home/user/Desktop/降臨ショー.py", line 454, in __init__ | |||
SeleniumAccessor(enable_javascript) if use_browser else None | |||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |||
File "/home/user/Desktop/降臨ショー.py", line 351, in __init__ | |||
self._driver: Final[webdriver.Firefox] = webdriver.Firefox( | |||
^^^^^^^^^^^^^^^^^^ | |||
File "/home/user/venv/lib/python3.12/site-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__ | |||
self.service.path = DriverFinder.get_path(self.service, options) | |||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |||
File "/home/user/venv/lib/python3.12/site-packages/selenium/webdriver/common/driver_finder.py", line 41, in get_path | |||
raise NoSuchDriverException(msg) from err | |||
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for firefox using Selenium Manager.; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location | |||
</pre> | |||
</div> | |||
</div> | |||
必要なライブラリが足りない場合はライブラリが無いよ(要約)というエラーを吐くため恐らくライブラリは全て揃っています。--[[利用者:化学に強い弁護士|化学に強い弁護士]] ([[利用者・トーク:化学に強い弁護士|トーク]]) 2023年10月20日 (金) 00:06 (JST) | |||
:{{CM|返信}} - まず先述の通り、「相変わらずブラウザーを起動しますか(要約)」はエラーではありませんので問題ありません。今回新しく出たエラーについては、プログラムがtor browserを見つけられずにfirefoxをダウンロードしようとしてしまっているんですかね?だとしたら<code>TOR_BROWSER_PATHS</code>に指定しているバイナリのパスが正しくないのかもしれないです。ただ"Unable to obtain driver"とも言っているので、https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location/ とかで解決する問題かもしれないです。--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2023年10月22日 (日) 03:04 (JST) | |||
=== v4.2.0 === | |||
{{Archive|https://nitter.cz|https://archive.vn/MQM8h|Nitter}}が終了してしまったので、従来のモードをdeprecatedでマークしました。 | |||
デフォルトで起動するとarchive.todayからツイートの魚拓を収集するモードになります。 | |||
しかし魚拓からは取れないデータがあったり、Nitterと違ってHTMLの構造がちょこちょこ変わったりするので困りました… | |||
何か代替策は無いですかね…--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2024年2月16日 (金) 19:01 (JST) | |||
:[https://xcancel.com/ xcancel.com]だったらまだ生きてるのでそちらはどうでしょうか?.onionではないため匿名性は落ちますがNitterのHTMLは吐くと思います。ただ当職は時間も知識も無いためこういった提案しか出来ませんが…--[[利用者:化学に強い弁護士|化学に強い弁護士]] ([[利用者・トーク:化学に強い弁護士|トーク]]) 2024年9月1日 (日) 15:03 (JST) | |||
=== v4.4.0 === | |||
<code>-u</code>と<code>--krsw</code>オプションを同時に選択した際に、<code>--krsw</code>に引数を与えると、その文言で自動停止する機能を追加しました。 | |||
利用例 | |||
:<code>python3 script.py -u --krsw 稲ちゃんが不正ログインと言っているんだ。みんなこれは解散だよ。</code> | |||
<code>--krsw</code>に引数を与えない、<code>--krsw</code>を利用しない、あるいは<code>-u</code>を利用しない場合の動作は今まで通りです。--[[利用者:Fet-Fe|Fet-Fe]] ([[利用者・トーク:Fet-Fe|トーク]]) 2024年9月4日 (水) 02:07 (JST) | |||
==脚注== | |||
<references /> |