2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

Navi2ch for Emacs (Part 21)

1 :名無しさん@お腹いっぱい。:2014/07/12(土) 10:06:10.24 .net
Emacsen で動く 2ch 専用ブラウザ、Navi2ch のスレッドです。

Navi2ch Project Home Page
http://navi2ch.sourceforge.net/

開発版
% cvs -z3 -d:pserver:anonymous@navi2ch.cvs.sourceforge.net:/cvsroot/navi2ch co navi2ch

過去ログ
>> ~/.navi2ch/etc.txt
> navi2ch
> http://navi2ch.sourceforge.net/log/
> navi2ch

前スレ
Navi2ch for Emacs (Part 20)
http://peace.2ch.net/test/read.cgi/unix/1265413075/

676 :名無しさん@お腹いっぱい。:2015/11/23(月) 19:19:58.57 .net
なんかログレベルあげてたら再現した
事実はある程度判明したけど直し方はわからないのでアドバイスよろしくです

bg20.2ch.netは以下で定義してnavi2ch-net-connect-checkで使われている
(defvar navi2ch-net-fall-back-host "bg20.2ch.net")
(defun navi2ch-net-connect-check (connection-data)
推測: いきなりfall-backしているのはkakoフラグが立ってしまっているのか?
でkako/...gzをnavi2chが要求して正しいデータ(kakoじゃないやつ)をとってきてもらってscrapingまで正常
で、データがgzip圧縮されているけどファイル名は.datになっていて文字化けしている
疑問: 圧縮しているのが誰でファイル名を決めているのが誰か、という話だろうか

[5] HTTP: 127.0.0.1 | GET http://bg20.2ch.net/test/r.so/peace.2ch.net/win/1446756620/
[5] HTTP: 500 Can't connect to bg20.2ch.net:80 | GET http://bg20.2ch.net/test/r.so/peace.2ch.net/win/1446756620/
[5] PROXY: change response
[5] HTTP: finish connection.
[0] HTTP: request received.
[6] HTTP: 127.0.0.1 | GET http://peace.2ch.net/win/kako/1446/14467/1446756620.dat.gz
[6] SCRAPING: rewrite_uri: http://peace.2ch.net/test/read.cgi/win/1446756620/
[6] HTTP: HTTP/1.1 200 OK | GET http://peace.2ch.net/test/read.cgi/win/1446756620/
[6] PROXY: change response
[6] PROXY: change response
[6] SCRAPING: add Last-Modified header
[6] SCRAPING: charset: Guess
[6] HTML2DAT: convert html to dat
[6] HTML2DAT: res_number: 1
[6] HTML2DAT: res_number: 807

677 :名無しさん@お腹いっぱい。:2015/11/23(月) 21:09:12.57 .net
navi2ch-net-connect-checkって何やってるんだ?
bg20.2ch.netって過去の遺物?
bg20.2ch.netにアクセスするとタイムアウトするからkako取りに行って結果化けてるみたいだけど
falling-backせずに単にsleepしてればいいの?

678 :名無しさん@お腹いっぱい。:2015/11/24(火) 04:28:03.96 .net
navi2ch-net-connect-checkはボボンハウスだっけかの連投だか頻繁取得規制に引っかか
らないためのウェイト入れてやるんじゃなかったかな。
で、内部かどこかののウェイトに引っかった時点で取得順が 
dat -> bg20(懲罰サーバ?) -> kakoログ倉庫 ってなるけど、どれも管理人変更
で死んだサービスになってるから2chproxyがおかしなデータ返す、でそれを受けて
navi2ch側が死亡認定して自前datをgzip圧縮、ローカルストレージに過去ログとして保存
だと思った。kakoフラグは2chサーバのhttpヘッダーにあるので、2chproxyでエミュ
レートしてる可能性もあり

そもそも論で言えばbg20にフォールバックするのなんて実況スレで連投するときしか起き
ないと思うので、何かが変といえば変
kakoフラグ立ったら再取得に行かないので C-cC-r でリセットしてやるバッドノウハウが
あるくらいのでkakoフラグでdat取得に行ってたらそれも変

679 :名無しさん@お腹いっぱい。:2015/11/24(火) 06:31:45.01 .net
>>678
解説ありがとうございます
navi2ch-net-connect-checkでbg20を見に行くことにすると現状ではエラーになるのでとりあえずsleepしとけばいいということか、それともsleepも不要なのかな
bg20でエラーにならなければkakoを見に行くこともなさそうだし

文字化け対策としては2chproxy.plで以下の設定を変えるだけでいいのかも
DISABLE_GZIP_COMPRESS => 0, #過去ログ(.dat.gz)へのアクセスをスクレイピングした際も
#圧縮せずにテキストのまま返す
#0で無効、1で有効

総レス数 1055
266 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★