Google – matoken's blog https://matoken.org/blog Is there no plan B? Thu, 16 Jan 2025 22:05:58 +0000 ja hourly 1 https://wordpress.org/?v=6.9.4 https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9-32x32.jpeg Google – matoken's blog https://matoken.org/blog 32 32 Google検索をJavaScript無しで https://matoken.org/blog/2025/01/17/google-search-without-javascript/ https://matoken.org/blog/2025/01/17/google-search-without-javascript/#comments Thu, 16 Jan 2025 21:49:35 +0000 https://matoken.org/blog/?p=4379

Google検索がJavaScript offで動かなくなったと聞いてFirefox+NoScript環境で試してみると確かに駄目.
更に http://www.google.com/httpservice/retry/enablejs にリダイレクトされて検索キーワードが消えてとても不便.

GoogleSearch NoJS

View on Mastodon

しかしダメ元でテキストブラウザのw3mで試すと動きます.環境により判断されている?といくつかのJavaScript無しのウェブブラウザで試してみるとこんな感じ.

動く

w3m (w3m/0.5.3+git20230121)
lynx (Lynx/2.9.2 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/3.8.5)
NetSurf (Mozilla/5.0 (X11; Linux) NetSurf/3.11)

動かない

Firefox+NoScript (Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0)
Dillo (Dillo/3.1.1)

Note
括弧内はUSEA-AGENT

Firefox + NoScript環境でさらにUSER-AGENTを詐称してlynxやw3mにすると動作します.
ということでさしあたりUSER-AGENTを詐称すれば良さそうですが,今回試した中ではDilloがそれを簡単にできません.(恐らくsourceを書き換えが必要)

そして,cliでGoogle検索をするのに便利なGooglerも試してみたところこんな感じで動かなくなっていました.

$ googler neko
No results.
If you believe this is a bug, please review https://git.io/googler-no-results before submitting a bug report.

sourceを見るとUA はSafariになっているようです.( USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36' )これをw3mやlynxに書き換えてみましたが駄目でした.
debugオプションを使ってquery結果のhtmlを覗くと元のSafariでもw3mなどでも検索結果は取得できています.

$ googler -debug neko
[DEBUG] googler version 4.3.13
[DEBUG] Python version 3.13.1
[DEBUG] Platform: Linux-6.12.9-amd64-x86_64-with-glibc2.40
/usr/bin/googler:3548: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  current_version = Version(_VERSION_)
/usr/bin/googler:3549: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  latest_version = Version(latest_version_str)
[DEBUG] Connecting to new host www.google.com
[DEBUG] Opened socket to 172.217.25.164:443
[DEBUG] new_connection completed in 0.264s
[DEBUG] Fetching URL /search?ie=UTF-8&oe=UTF-8&q=neko+-site:bug&sei=pp_1MVyOQZyTluhTiFyP6A
[DEBUG] Cookie: AEC=AZ6Zc-WrVVC8RQohzvoaSzeVCDUEfTRTNYlYgZ_iymf0Dsf_sDtMmliRF3c
[DEBUG] fetch_page completed in 0.551s
[DEBUG] Response body written to '/tmp/googler-response-h4zgk7n0.html'.
[DEBUG] parse completed in 0.016s
No results.
[DEBUG] Fetching https://raw.githubusercontent.com/grassdionera/googler/master/info.json for project status...
If you believe this is a bug, please review https://git.io/googler-no-results before submitting a bug report.

googler dillo

これはこれまでと結果のhtmlが変更になりパースに失敗してGooglerでNo results.になっていそうです.
この検索結果のhtmlを解析してGooglerを書き換える必要がありそうです.でもこれまたいつ変わるかわからないのであまりやりたくないですね…….
とりあえずはw3mなどで検索するのが良さそうです.

もしくはDuckDuckGoなどの別の検索エンジンにを使う.私は以前よりDuckDuckGoをメインに利用しています.
ちなみにDuckDuckGoをJavaScript無しで利用する場合 www.duckduckgo.com で検索するとリダイレクトを挟んでちょっと面倒なので https://html.duckduckgo.com/html?q=クエリー のような感じで使っています.cliの場合Googlerのようなddgrというコマンドもあります.

環境
$ dillo --version
Dillo version 3.1.1
$ dpkg-query -W w3m lynx netsurf-gtk firefox
firefox 134.0.1-1
lynx    2.9.2-1
netsurf-gtk     3.11-2
w3m     0.5.3+git20230121-2.1
$ lsb_release -dr
Description:    Debian GNU/Linux trixie/sid
Release:        n/a
$ arch
x86_64
]]>
https://matoken.org/blog/2025/01/17/google-search-without-javascript/feed/ 1
Googleの社名変更で apt update エラー https://matoken.org/blog/2018/11/10/error-in-apt-update-with-google-company-name-change/ https://matoken.org/blog/2018/11/10/error-in-apt-update-with-google-company-name-change/#respond Sat, 10 Nov 2018 06:31:48 +0000 http://matoken.org/blog/?p=2241

パッケージ情報更新のために apt update 中にエラーが発生しました.Googleのアプリケーション(Google Chrome等)を導入ししたときに入るGoogleのリポジトリで Google, Inc.Google LLC に変わったためのようです.

E: Repository 'http://dl.google.com/linux/chrome/deb stable Release' changed its 'Origin' value from 'Google, Inc.' to 'Google LLC'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
Do you want to accept these changes and continue updating from this repository? [y/N]

Google LCCには去年変わっていてこのリポジトリにもやっと修正が入ったということのようです.(Androidアプリなどはもっと早かったですね)

ここで y で受け入れると次からこのエラーは現れません.

ヒット:4 http://dl.google.com/linux/chrome/deb stable Release
環境1
$ dpkg-query -W apt
apt     1.7.0
$ lsb_release -d
Description:    Debian GNU/Linux unstable (sid)
$ uname -m
x86_64
環境2
$ dpkg-query -W apt
apt     1.7.0
$ lsb_release -d
Description:    Parrot 4.3
$ uname -m
x86_64
]]>
https://matoken.org/blog/2018/11/10/error-in-apt-update-with-google-company-name-change/feed/ 0
STDOUTからパイプで繋いでGoogle スプレッドシートに記録出来るtosheetsを試す https://matoken.org/blog/2017/12/17/try-tosheets-which-can-be-connected-to-pipes-from-stdout-and-recorded-on-google-spreadsheet/ https://matoken.org/blog/2017/12/17/try-tosheets-which-can-be-connected-to-pipes-from-stdout-and-recorded-on-google-spreadsheet/#respond Sat, 16 Dec 2017 22:11:11 +0000 http://matoken.org/blog/?p=1736 shellのSTDOUTからパイプで繋いでGoogle スプレッドシートに記録出来るtosheetsというものを見かけたのでちょっと試してみました.

導入はpipで入ります.

pip install tosheets

初回実行時には認証が走ってブラウザで許可すれば使えるようになります.

20171216_19:12:40-24220

以下の1つ目は新規にスプレッドシートをtosheet-testという名前でスプレッドシートを作りつつunix timeとcpuの温度を投げています.
2つ目,3つ目は1つ目で作ったスプレッドシートにunix timeとcpuの温度を投げています.

$ echo -n `date +%s`,`acpi -t|awk '{print $4}'|tr -s '\n' ','`|tosheets -c a1 --new-sheet='tosheet-test' -d ','
1dEv7l3FkxEM-NKlmPTdtfKq4aaemtdyHc1mlbAUOq3s
$ echo -n `date +%s`,`acpi -t|awk '{print $4}'|tr -s '\n' ','`|tosheets -c a1 --spreadsheet=1dEv7l3FkxEM-NKlmPTdtfKq4aaemtdyHc1mlbAUOq3s -d ','
$ echo -n `date +%s`,`acpi -t|awk '{print $4}'|tr -s '\n' ','`|tosheets -c a1 --spreadsheet=1dEv7l3FkxEM-NKlmPTdtfKq4aaemtdyHc1mlbAUOq3s -d ','

ちなみにこういう感じの出力が,

$ echo -n `date +%s`,`acpi -t|awk '{print $4}'|tr -s '\n' ','`
1513421821,48.0,47.0,

スプレッドシートを見るとこういうふうに記録されています.

20171216_20:12:07-28689

既存のスプレッドシートを使う場合はそのシートのURLからスプレッドシートIDを調べて spreadsheet optionで指定します.以下の例では 1y4qtUWqh6gSCUnEWkTcJX7y1k_1U0ph5ubdrxyUTXa4 がそれです.

https://docs.google.com/spreadsheets/d/1y4qtUWqh6gSCUnEWkTcJX7y1k_1U0ph5ubdrxyUTXa4/edit

お手軽に使えていいですね.Raspberry Pi等のSBCなんかからセンサの値を投げるとかのM2M的な使い方にも良さそうです.
Python3製でMIT Licenseです.

]]>
https://matoken.org/blog/2017/12/17/try-tosheets-which-can-be-connected-to-pipes-from-stdout-and-recorded-on-google-spreadsheet/feed/ 0
Googleドライブの写真を高画質に変換して容量を開放するメモ https://matoken.org/blog/2017/12/03/convert-google-drive-photos-to-high-image-quality-and-free-up-capacity/ https://matoken.org/blog/2017/12/03/convert-google-drive-photos-to-high-image-quality-and-free-up-capacity/#respond Sat, 02 Dec 2017 21:50:33 +0000 http://matoken.org/blog/?p=1702 Selection_006

Googleドライブの容量はほとんどgmailに利用しているのですが,たまに画像をアップロードしてしまい容量をいっぱいにしてしまいます.
画像サイズを小さく(現在は16MP以下)すると画像の容量がカウントされないのですが,サイズをオーバーしている画像を探して小さくするのはあまり現実的ではないです.
設定から自動的に縮小する方法があるのですが毎回やり方検索するのでメモしておきます.

設定 – Google フォト (https://photos.google.com/settings)

「アップロード サイズ(ウェブ上でアップロードする写真と動画のみ)
高画質 (容量制限なし、無料)」にチェックして
「容量を開放」でokです.数時間後には処理が終わっていると思います.

以下のページが参考になります.

容量を節約するために、写真が圧縮されます。写真のサイズが 16 MP を上回る場合は、16 MP まで縮小されます。
サイズが 16 MP の写真は、最大で約 61.0 cm x 40.6 cm まで高画質で印刷できます。
動画の解像度が 1080p を上回る場合は、1080p(高画質)まで縮小されます。動画の解像度が 1080p 以下の場合、保存された動画と元の動画の見た目の違いはほとんど生じません。

その他,
ドライブ ストレージ(https://drive.google.com/u/0/settings/storage?hl=ja)
にアクセスするとストレージの詳細が確認できます.

]]>
https://matoken.org/blog/2017/12/03/convert-google-drive-photos-to-high-image-quality-and-free-up-capacity/feed/ 0