w3m その8
>>675で完成してるからな。後は余興。ノシ。PC触り過ぎてきもちわり。 すまん。やっぱ寝ぼけてたな。$HOME/debugにfileを書き出してる。 #!/bin/zsh
UNIQ=$(printf $(ps -p $PPID -o pid,ppid,lstart |md5sum))
case "$QUERY_STRING" in
${UNIQ}=option\&*)
URL_HOLD=$(nkf --url-input <(sed 's%[^&]*&field=\([^&]*\)&.*%\1%; s/%25/%/g' \
<<<$QUERY_STRING))
URL=$(sed $(nkf --url-input <(cut -d '&' -f 3 <<<$QUERY_STRING |tr '+' ' ')) <<<$URL_HOLD)
test -z "$URL" && URL=$URL_HOLD;;
${UNIQ}=form\&*)
URL="https://www.google.co.jp/search?$( cut -d '&' -f 2- <<<$QUERY_STRING )";;
${UNIQ}=rotate\&*)
URL="https://www.google.co.jp/$( cut -d '&' -f 2- <<<$QUERY_STRING )";;
*) URL="https://www.google.co.jp/search?q=$QUERY_STRING&hl=ja&biw=&bih=&gbv=1&num=100";;
esac <<EOF
Content-Type: text/plain
w3m-control: GOTO $URL
w3m-control: EXTERN echo %s |xsel -s
w3m-control: VIEW
w3m-control: PIPE_BUF sed "s,<body [^>]*>,&\$(xsel -s |sed "s/&/\\\\\&/g")<br />,;"\
's%\(<input[^>]*\)Shift_JIS%\1UTF-8%; s%\(<form \)\([^>]*>\)'\
'%\1action="file:///cgi-bin/google.zsh" \2<input name=$UNIQ type=hidden value="form">%;'\
's,</form>,&<form action="file:///cgi-bin/google.zsh">'\
'<input name=$UNIQ value="option" type=hidden>'\
'<input name=field value='"\$(xsel -s |sed "s/&/\\\\\&/g")"' type=hidden>'\
'<input type=text></form>,;'\
's%\(<span[^>]*>\|</span>\)%%g; s%<div[^>]*>%%g; s%</div>%<div>&%g;'\
's,\(<a [^>]*href="\)/\(search?\|url?q=/search%3F\)\([^"]*"\)'\
',\1file:///cgi-bin/google.zsh?${UNIQ}=rotate\&\2\3,g;'\
's%\(<a [^>]*href="\)/url?%\1https://www.google.co.jp/url?%g'
w3m-control: VIEW
$( printf '%s\n' 'w3m-control: DELETE_PREVBUF'{,,,} )
EOF
# もう間違っててもちょっと離れる。 まじすまんな。上の$HOME/debugにfileを書いちゃってるから。
まあダメージないだろうけど。この失敗は教訓にしよう。 幸い>>でつけたしだから。万が一があってもあわてずにな。ノシ。 すまん。xselなくてもいけるなPIPE_BUFでも普通に%s使えるっぽいな。
直すか。 いや、どうやら無理だな。後sedで変更する値が見えてるままの値じゃなくて
検索に入ってる文字列を変更するようになってるけと、これは直さないほうが使いやすいな。
後ほんとsedに流し込んでるだけなので、危険な事すれば危険なのでね。 # 下部分だけちょっと改良。
# でも前のほうがxsel -sにurlがそのまま入ってる形だけど。
# xselを一時fileにしたほうが素直だと思うけどrm使うのは頭働かせないと怖いからやらない。
<<EOF
Content-Type: text/plain
w3m-control: GOTO $URL
w3m-control: EXTERN echo %s |sed 's/&/\\\&/g' |xsel -s
w3m-control: VIEW
w3m-control: PIPE_BUF sed "s,<body [^>]*>,&\$(xsel -s)<br />,;"\
's%\(<input[^>]*\)Shift_JIS%\1UTF-8%; s%\(<form \)\([^>]*>\)'\
'%\1action="file:///cgi-bin/google.zsh" \2<input name=$UNIQ type=hidden value="form">%;'\
's,</form>,&<form action="file:///cgi-bin/google.zsh">'\
'<input name=$UNIQ value="option" type=hidden>'\
'<input name=field value='"\$(xsel -s)"' type=hidden>'\
'<input type=text></form>,;'\
's%\(<span[^>]*>\|</span>\)%%g; s%<div[^>]*>%%g; s%</div>%<div>&%g;'\
's,\(<a [^>]*href="\)/\(search?\|url?q=/search%3F\)\([^"]*"\)'\
',\1file:///cgi-bin/google.zsh?${UNIQ}=rotate\&\2\3,g;'\
's%\(<a [^>]*href="\)/url?%\1https://www.google.co.jp/url?%g'
w3m-control: VIEW
$( printf '%s\n' 'w3m-control: DELETE_PREVBUF'{,,,} )
EOF どうでもいいだろうけど以下の部分は、""いらないな。
'<input name=field value='"\$(xsel -s)"' type=hidden>'\
こう見たほうが素直に何してるか分かるかも。\\\&が非常に自分でも分かり辛い。
'<input name=field value='\$(xsel -s)' type=hidden>'\ w3mは適当にformだけを切り出してもちゃんと描画してくれるから、
適当に抜き出してw3m-control: SUBMITを使えば、
10行20行に満たないコードでいろいろ書けちゃうね。shで書くよりも短く書ける。
やっぱw3m作った人はセンスの塊だと思うわ。いつか俺はテコ入れしてバージョン上げたいね。
色々書いたから載せたい所だか、まあ間違い直しでスレッドが埋まっちゃうから無理だな。
5chはmoreなんだな。lessじゃない。 「誰に向けて書いてんだよ?」とは思うけど、どうせ過疎スレだし…
そんなことより Google の仕様がまた変わったな。
テキストがリンクになってる。a 要素の中に div 要素が無い。
まあ、この変更に気付いたのは lynx で見てる時なんだが。 俺の環境だとgoogle検索結果の <a> 要素中に <div> が入ってる。
User-Agent を見て出力形式を振り分けてるのかも知れん。
lynx は対応してるけど w3m は放置されてる感じで。 Lynx で google が使えなくなった視覚障害者の話がちょっと前にバズってたけど
ちょっとは影響があったのかな? でも、リンクが辿れるだけマシになったとは言え、
圧倒的に情報量が少ない。
User-Agent が Mozilla 系でも使えた頃が一番見やすかった。まだ今年の話だと思うが、
まともに見られなくなり User-Agent を Lynx 系にして凌いでいた。しかし、1 ヶ月
ちょっと前に完全にダメになってしまった。それまでにもちょいちょい表示が崩れることが
あったが大抵リロードで解決できていたのに。JavaScript 必須、GET より POST の時代ですな。
StartPage もいつからか次ページに移動できなくなったし、DuckDuckGO も何だか
見辛かったのだが、今回の騒動で Lite 版があるのを知って使い勝手がマシになった。
とは言え、タイトルはぶったぎりだし、検索の質はやはり劣るか。
本家の CVS から落とせなくなってからは、Debian 管理化の Git リポジトリを利用してるけど
User-Agent を Lynx 系にしようとしたとき siteconf に対応していることに気付いた。
それ以来便利に使っている。 >>698
w3mは高機能でテーブルのレイアウトができて視覚障害者は利用しないので、Lynx対応の方が社会的な要求が強いのでしょうね。
いきなりLynx-devのメール流量が増えた時は、私も驚きました。 googleさんの検索結果ページだけど、またw3mで使い物になるように改善されたかな。
皆さんどうですか?
自分とこ、色々手を入れちゃったせいで一般的な環境じゃないんだわ。 書き込みがあったとは、気付かなかった。ほら、過疎スレだからさ…
w3m も lynx も、a 要素の中に div 要素があると hidden link になるけど
特に困ることじゃない。
w3m の場合はリンク番号を表示させれば済む。
Google で hidden link になってた時期は >>616 から >>696 まで。 Twitter 閲覧する local CGI とか作ってる方っていらっしゃらないですかね……? >>706
スクレイピングする方法はググれば沢山見つかるから簡単に自作できるんじゃない?
っていうか自分もこれから作ろうと思ってる
あんま関係ないけど、とあるサイトで w3m で画像が表示されなくなったことがあって
なんか lazy load とかいうやつらしくて
そのときは串自作して対応したよ >>706
Twitterは、user-agentをBot等に変えれば行けませんか? >>708
いままで mobile.twitter.com でモバイル版が提供されてて
w3m などのテキストブラウザでも HTML で直接閲覧できていたんですが、
2020-12-16 で mobile.twitter.com 自体が廃止になったので、
今後は API 叩いたり JSON いじったりしないとダメじゃないかと思います。 試してみれば見れるのは分かるだろうに
なんで適当な事書くのかね そっか、検索でツイート引っかかるよう抜け道残してあるんだな >>710
失礼しました。「user_agent」を「Bot」にしたら確かに見れますね。
だいぶ読みづらくはなりますが……。 え、User-Agentを「Bot」にしても、ログインすると
「このブラウザは現在サポートされていません。」
と出るんだけど、何か足りない設定があるのかな >>713
ログインしない状態での閲覧はできましたが、ログインしてからの操作は、こちらもできませんでした。
user-agent以外の手段が必要そうです。
なお、閲覧するだけなら、nitterを使うとすっきりした表示になるようです。 ありがとう、やっぱり見れないのね
JavaScriptの勉強してlocal CGIを書くかなあ すみません、私は普段ログインせずに閲覧するだけなのでなんとか見れるようになりましたが、
確かにログインするとダメですね……。
ちなみに、 UA をボットにするのは、 README.siteconf にそのものズバリな例が載っていました。 あ、あと、ボットにして見れるのも最新 20 件くらいだけで、ページ送りはできないみたいですね。 >>714
nitter 良いですね。 siteconf に設定しました。
url "https://twitter.com/"
substitute_url "https://nitter.net/" Opening socket... と表示されてる時に接続が切れると
うんともすんともと言わなくなるんだな
どれだけタブを開いていても固まってしまうから kill して全て破棄するしかなくなる それはまだ接続してないんじゃないか。
「接続が切れる」とは何を指してる? 文字通りだろ
光だと経験ないかもしれないが
ボロいADSLなんかで使えば分かる
最初からオフラインだと固まらない Opening socket... の少し後で切れた場合は操作はできても
子プロセスがずっと残ったりする |ヽ|l:.:.:.:/|:l:.:.:.:.:.:..|:.,rー'''゙¨ヽ、:.:.:.:.|:.:.:.:|:.:.:.|:.:|
|/ l\/ l/|:.:.:.:l:.|!´ l:.:.:.:.:|:.:.:.:l!:.:.:|:.:|
|_/|/ ヽ、|:.:.:.!/ /:.:.:.:.:.|:.:.:.:.l:.:.:.|:.:|
|`ヽミ l:.:.:./ _,,,.. -ー/li.:.:.:.:.:l:.:.:.:.:|:.:.:.|:.:|
|ィト,/` l,/´ l:/|`:.:.:./:.:.:.:.:|:.:.:.|:.:|
|ソ,/ ___ ' i:.:.:.:/:.:.:.:.:.:|:.:.:.|:.:|
|` ./,、 ̄`_ヽ|:./l:.:.:.:.:./:.:.:.:|:.:|
| ,ト!(:.:rテ'/ ´ /:.:.:.:./:.:.:.:.:.:l:.:|
| ' ヾニ_ / /'ノl:.:.:/:l:.:.:.:.:.:.|:.:|
/iヽ ヽ 、_ ,/_' -‐':.:.:|:.:.:.:.:.:|:.:l
ヽ` \  ̄ ィ‐':.:.|:.:.:.:.:.:.l:.:.:.:.:.:.|:/ >>1乙だよ
l`ヾ、 l--──‐─‐.' ´:.:.:.:.:.:|:.:.:.:.:.:i:.:.:.:.:.:.l/
_'、 \. |イ:./l/:.:.:.:.:.:.:.:.:.:.,:.:.:.:.ノ:.:.:/l/:.:.:.:.:./'
l l \ `'i Y |:.:/ノ_ -‐!/l:./l:.:.:/ /:.:.:.:./l
〉、 ヽ | \ ` ´ レ i/ il_/ 光回線だがOpening socket...で固まると何も操作できなくなるな
killするしかない ipv6なんて無い昔からの挙動だからな>>719- redhatでmake出来るソースどこかにありますか?
dnf searchではヒットするけど
installしようとするとエラーで終わってしまいます no_proxy 環境変数を理解できない、或いはクセがあるのだっけ?
curl、wget では $no_proxy に従い直接接続できるが、w3m はプロキシに行ってしまうのだが。
$ w3m --version
w3m version w3m/0.5.3, options lang=en,m17n,image,color,ansi-color,mouse,gpm,menu,cookie,ssl,ssl-verify,external-uri-loader,w3mmailer,nntp,gopher,ipv6,alarm,mark >>733 自己レス。
そもそも proxy 環境変数を見ないのだな。.w3m/config に書くのであって。