PC用眼鏡【管理人も使ってますがマジで疲れません】 解約手数料0円【あしたでんき】
Yahoo 楽天 NTT-X Store
無料ホームページ 無料のクレジットカード 海外格安航空券
ふるさと納税 海外旅行保険が無料! 海外ホテル
■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 最新50
メモ3
- 1 :名無しさん@勉強中 ★:07/08/04 06:09:43 ID:???
- またまた思いついた事など
- 275 :名無しさん@勉強中 ★:07/11/24 11:26:19 ID:???
- Python Home
http://hp.vector.co.jp/authors/VA003670/python/
テキストファイル
http://hp.vector.co.jp/authors/VA003670/python/FileIO/TextFile.htm
バイナリファイル
http://hp.vector.co.jp/authors/VA003670/python/FileIO/BinaryFile.htm
- 276 :名無しさん@勉強中 ★:07/11/24 11:40:16 ID:???
- ああ、やっと
pythonでWeb上のデータを
ローカル保存出来た・・・
感動。
Mac使い or Linux使いの方居られますか?
って ココに書いても反応は期待出来ないかもですが。
- 277 :名無しさん@勉強中 ★:07/11/24 17:32:11 ID:???
- ちょっくらpythonで書かれた CGIを表示させようと
http://mirror.s151.xrea.com/
にFTP接続してアップしようとしたら
容量満杯だそうで。
でもpublic_html内のサイズは何度やっても35メガくらいだもんで
おかしいなと調べてみたら
自動生成されてるlogフォルダが15メガくらいあったです。
5日分あって
1ファイルが3MBくらい。
これってApatch(?)が吐き出す生ログみたいなんですけど
どうすればいいんでしょう。
消しちゃって問題ないのかな。
- 278 :名無しさん@勉強中 ★:07/11/24 18:42:16 ID:???
- datファイルを共有するP2Pソフト o2on 12dat
http://pc11.2ch.net/test/read.cgi/tech/1180440415/366
−−−−−−−−−−−−−−−−−−−−−−−−−−−
366 名前:デフォルトの名無しさん[sage] 投稿日:2007/11/24(土) 17:36:41
PC我物故我他ので色々再インストール中なんだが
Janeの右クリックでどっかから過去ログ持ってこれるソフトはなんだっけ?
このスレで知った気がしたんだが
o2onも入れるからおしえてくり
367 名前:デフォルトの名無しさん[sage] 投稿日:2007/11/24(土) 17:48:14
>>366
漏れが作ったソフト
既に消えている
要望があったら再うpする
368 名前:デフォルトの名無しさん[sage] 投稿日:2007/11/24(土) 18:12:24
p2todatか
−−−−−−−−−−−−−−−−−−−−−−−−−−−
p2todat配布停止されてたのかなとgoogle検索から行ってみたですが
まだ配布しておられるような。
mimizun.jsも おささんの所にありますし
となるとgetlog.wsfの事なのだろうか。
でもgetlog.wsfの作者さん、jane外部コマンドスレで何回かお見かけしたですが
一人称で「漏れ」というような文章をお書きになられるような方には見えなかったですが。
続報求む
- 279 :名無しさん@勉強中 ★:07/11/24 20:20:35 ID:???
- という事で
>>276を出してみるです
http://www.geocities.jp/mirrorhenkan/others/python/getimg.py.txt
pythonが入っているマシンの方のみですが
上のコードをDLして拡張子をpyにリネームして実行してみて下さい。
スクリプトと同じフォルダにyahooのタイトル画像が生成していたら成功です。
pyファイルの実行方法ですが
・ダブルクリック
・コマンドライン
・GUI (IDLE)
の3種類あるみたいです。
あと、Mac/Linuxの方は
スクリプト1行目の
#!/usr/bin/python
を
#!/usr/local/bin/python
または各自のpython設定先に書き換えなければいけないかも。
この程度のスクリプトでも、まんま書いてある所がなかったので
なかなか勉強になったです。
自分とこではうまくいったですが
他のところではどうでしょうか。
反応があったら嬉しいのですが。
という事で、お願いします。
- 280 :名無しさん@勉強中 ★:07/11/25 04:27:49 ID:???
- Python入門
http://www.f7.ems.okayama-u.ac.jp/~yan/python/
Japanese Python Links
http://homepage1.nifty.com/kazuf/pythonlinks.html
機械伯爵の最新Python講座
An Introduction to Python & IronPython
http://www.okisoft.co.jp/esc/python/iron-python-intro.html
Python
http://ar.aichi-u.ac.jp/python/
九十九のぶろぐ:Python
http://sima8921.exblog.jp/i14/
WisdomSoft - Python言語入門【Python言語】
http://www.wisdomsoft.jp/dev/prog/python
猫日誌 -2005-
http://mineko.fc2web.com/box/my-room/dialy/privateDialy2005kisaragi.html
開発者のためのオンライン参考書
http://hp.vector.co.jp/authors/VA003670/index.html
- 281 :名無しさん@勉強中 ★:07/11/25 08:39:17 ID:???
- >>279ですが
どこか外部に晒したほうが反応が見込める。かもしれず。
かといって
チキンなので
凄い方が沢山居られるプログラム板pythonスレで訊いてみるのも二の足を踏むですし
あと
http://blawat2015.no-ip.com/~mieki256/diary/20071003.html#200710030
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
「なんだこの書き方は。なっちゃいねえプゲラ」とか優越感ゲームしてる暇があるなら
添削してブログ公開して共有知にしてくれると嬉しいかもしれず。などと思わないでもない。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
pythonでの画像処理について調べていたのですが
まったく同感だなと。
- 282 :名無しさん@勉強中 ★:07/11/25 11:09:50 ID:???
- おおこれは!!
中国2CH (http://cn2ch.cn/)
http://cn2ch.cn/
中国■2ch BBS ..
http://cn2ch.cn/bbs/
コスプレとか漫画とか御宅とかあって
何だか馴染めそうな感じです。
簡体字なので少しとっつきにくいですが。
掲示板もUTF-8なのですが
dat直読みは開放してないみたい。
して欲しいな。
管理人さんのブログがMySQLエラーで読めないのですが
是非読んでみたいです。
- 283 :名無しさん@勉強中 ★:07/11/25 11:43:56 ID:???
- dat直読みは開放してないといっても
windowsサーバでIISを使ってるみたいですから
パーミッションとかではないみたいだし
メモ
双葉スクリプト中文化配布サイト
これで双葉中文化サイトは3つめなのかな
各々関係のないスタンドアローンでしょうし
Pixmicat! in Development
http://pixmicat.openfoundry.org/
それにしても
台湾のサイトは皆軽いのに
なんで大陸中国のサイトは重いのだろう。
インフラがまだ整備されてないのかな。
あるいは端的に国力の違いという奴なのだろうか。
国際電話も
通話料は何故かアメリカの倍くらいかかるみたいだし。
- 284 :名無しさん@勉強中 ★:07/11/25 15:59:12 ID:???
- さて次は
ダウンロード or ローカルのdatを正規表現その他でhtml化する
python版dat2htmlが出来たら面白そうだなと。
誰かがとっくにやってそうですがそういうのはどうでもいい話で
html化が出来た場合
Web上でのpythonCGIでのdat2htmlも出来るかもです
ほんとはpythonでhtmltodatのようなものが出来れば
非win環境の方でもdat取得出来そうだなーとか思うんですが
そちらのほうは少し敷居が高そうなので。
と書いただけで終わるかもですが
まあどうでもいいわな
- 285 :名無しさん@勉強中 ★:07/11/25 18:13:42 ID:???
- メモ
http://yusukebe.com/tech/archives/20070803/124356.html
を片手に頭の整理
URL
http://www.nicovideo.jp/watch/sm1049327
・スクリプト起動
|
・inputbox→URL入力
|
・http://www.nicovideo.jp/api/getflv?v=sm1049327 にアクセス
|
・response.text取得→URL整形
|
・inputboxで整形後のURLを表示&クリップボードコピー
- 286 :名無しさん@勉強中 ★:07/11/25 19:39:27 ID:???
- >>282
ブログも読めたです
音楽が流れていますが
結構良いではないですか。
http://cn2ch.cn/blog/
http://xasm.yo2.cn/
JaneNidaで読めたらなあ。
- 287 :名無しさん@勉強中 ★:07/11/26 17:23:08 ID:???
- /*
私信:
メールを送らせて頂きましたので
宜しかったら試してみて下さい
*/
さて
>>285をもとに
nicovideo.jpからflvファイルを半自動で取得するwshが出来たですが
どうしたものだろう・・。
perlやphpやrubyやpythonで作られた方々のコードを参考に
あれこれやって何とかなったっぽいですが
wshって 上記諸言語と違って
ほとんどのPC(win機)で標準装備されてるもんで
という事は 色んな人がそのまま使えてしまうかもなので
サーバへの負担やら帯域やらが心配になってしまうです
帯域が凄くてまた方式が変更になったりしても何ですし。
まあSmileDownloaderとか他にも色々あるでしょうけど
あと 車輪の再発明の域を出ていないものだという事もありますし。
うん
自分だけで使おうか
- 288 :名無しさん@勉強中 ★:07/11/27 09:17:02 ID:???
- うう
>>287って
今読んでみたら
恥ずかしい事を書いてしまったかもだ・・・
perlやphpも スクリプトの検証用(カッケー!)に入れているですが
サイトで使うCGIはともかくとして
Web上で出されているものって
例えばLWPとかCookieとか用の諸モジュールを追加インストールしないといけないものが多いので
なかなか試そうという気にはならないのです。
>>251のpythonスクリプトもmechanizeモジュール(?)を入れないと動かないみたいですが
入れてみてPCが動かなくなっても何ですし。
そう考えると wshって結構すごいかも。
自分のPCが んもうパッツンパッツンなので
なるべく追加インストールせず
標準装備されているものだけでやってみたいのですが。
って こんな事では
例えばDelphiとかC言語とか手を出せないじゃないかとか思ったりして。
ああ また恥ずかしい事を書いてしまったかも
(なら書くなと)
- 289 :名無しさん@勉強中 ★:07/11/27 10:09:17 ID:???
- VBSで便利なプログラムを作れスレ
http://pc11.2ch.net/test/read.cgi/tech/1170492587/59-67
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
59 名前:デフォルトの名無しさん[] 投稿日:2007/11/26(月) 08:03:28
BASP21でダウンロードソフトを作ろうと思っているんですが、
FTPだとFTPサーバーの名前を知らないとアノニマスでも接続できませんよね?
どうすれば良いのでしょうか?
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ちょうどBASP21で画像等のバイナリファイルをDLするスクリプトとか
面白いかなと見てたんですが
えーと
以下略
てかwin2000以上なら
BASP21を入れずともwshだけで何とでもなると思うです
私のPCだとダメですが。
- 290 :名無しさん@勉強中 ★:07/11/27 21:27:33 ID:???
- RubyもMacOSに標準装備されるのかなと
試験前だからプログラミングスレ
http://yutori.2ch.net/test/read.cgi/news4vip/1196066303/62
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
55 名前:以下、名無しにかわりましてVIPがお送りします。 [] 投稿日:2007/11/26(月) 21:09:54.60 ID:onQpvCMa0 (PC)
将来性はどのスクリプト言語がよさそうですか?
jscriptみたいになるのはどれだと思いますか?
62 名前:以下、名無しにかわりましてVIPがお送りします。[sage] 投稿日:2007/11/26(月) 21:28:32.46 ID:sHVCrD300
>>55
Rubyは?
いいとこ取りの言語らしいから今後期待できるかも。
すでに結構広がってるけどwwww
Mac OS X v10.2以降では標準で入ってるらしい
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
って
このレス見ただけなんで
ホントかどうか調べてないんですが。
まあ事実かどうかわかるまでは「ソースは2ch」って事で。
- 291 :名無しさん@勉強中 ★:07/11/27 21:46:41 ID:???
- ふむ
py2exeを使えば
非python環境でも使えるようになるみたい
http://pc11.2ch.net/test/read.cgi/sec/997431887/758
http://dukedog.flnet.org/pukiwiki/index.php?%A5%D6%A5%ED%A5%C3%A5%AF%A5%EA%A5%B9%A5%C8#manaita
- 292 :名無しさん@勉強中 ★:07/11/27 22:04:21 ID:???
- メモ
Python @ 7bit
http://nanabit.net/softwares/python.html
此方で勉強させて頂こうかな。
というか
python版htmltodatも既にお作りになられてるではないですか。。
- 293 :名無しさん@勉強中 ★:07/11/28 00:47:56 ID:???
- コマンドプロンプトでの実行方法がわからない・・・
- 294 :名無しさん@勉強中 ★:07/11/28 01:33:19 ID:???
- >>279ですが
何だかDLして実行してみても動かなかったので直したです
コメント文の箇所(行頭にシャープ「#」をつけるやつ)でエラーが出ておったのですが
いったい何でなのでしょう
- 295 :名無しさん@勉強中 ★:07/11/28 02:15:36 ID:???
- うーん困った
pythonでのコマンドラインからの実行方法がほんとにわかんない
検索してもよくわかんない
こういうのって誰にきけばいいのだろう
明朝までにやんなきゃいけない事があるのに
なかなか手につかぬ
困ったほんと困った
- 296 :名無しさん@勉強中 ★:07/11/28 18:37:21 ID:???
- さて>>282ですが
やはりJaneNidaで読んでみたいです
思いつく手段を適当に書くと
・JaneNida作者さんに対応してもらう
・htmltodatをUTF-8対応してもらう(ユニコード用鬼車dllもありますし)
・xyzzyで一つづつdat化
・htmltodatプロキシ的CGIを作って(http://usamimi.info/~shukeisho/みたいな)
それ経由(& proxomitron経由)で閲覧する
・htmlをdat化しつつDLするようなスクリプトを作る
最初二つは無理でしょうね。
となると後ろ二つですか。
- 297 :名無しさん@勉強中 ★:07/11/30 02:12:00 ID:???
- メモ
MacでPython入門
http://www.hlj.com/~tanoue/Python/Mac/mpy00.html
ニシキヘビを飼おう python入門
http://www.f7.ems.okayama-u.ac.jp/~yan/python/
僕と僕のサル以外、みんな何かを隠してる
http://xwave.exblog.jp/
HMDT - Back Number / June, 2001
http://homepage.mac.com/mkino2//backnumber/2001_06.html
続・おもむろに Python の勉強をはじめてみる - 星一の日記
http://d.hatena.ne.jp/hajimehoshi/20070609/1181378283
- 298 :名無しさん@勉強中 ★:07/11/30 02:36:16 ID:???
- >>260-262の
「画面が一瞬だけ表示されて消える」事に対する対処法ですが
虚ろなる破壊への夢 Python
http://www.naoto.tv/pc/python/py_01.html
−−−−−−−−−−−−−−−−−−−−
#! /usr/local/bin/python
print "Hello World!"
input("OK?")
−−−−−−−−−−−−−−−−−−−−
なるほど。
データ入力方法もわかりました。
print raw_input("write something")
ただ、私の環境では
コメント中の日本語であってもエラーが出てしまうみたい。
間違っているのかな。
- 299 :名無しさん@勉強中 ★:07/11/30 09:48:31 ID:???
- >>298ですが
一行目で書いたpythonのパスの次行に
#coding:shift_jis
を書いたら、日本語も表示出来るようになったです。
本当は
# -*- encoding: shift_jis -*-
とやったほうが良いのかもしれないですが。
- 300 :名無しさん@勉強中 ★:07/11/30 09:54:19 ID:???
- メモ
Python Home
http://hp.vector.co.jp/authors/VA003670/python/
文字列の検索
http://hp.vector.co.jp/authors/VA003670/python/RE/Search.htm
Pythonはじめました
http://www.kototone.jp/com/python01.html
Python - TSNETWiki
http://www.rakunet.org/TSNET/pukiwiki/?Python
Pythonドキュメント翻訳プロジェクト
http://www.python.jp/Zope/pythondoc_jp/
リンク集
http://www.python.jp/Zope/links
日本の Python サイト
http://www.python.jp/Zope/links/japanesesite
Pythonソフトウェア作法
http://www.python.jp/Zope/articles/SoftwareTools
わたしの愛した機械
http://www.kototone.jp/com/index.html
ブックマーク替わりという事で。
やっとブラウザを閉じられる・・・
そういえば
讃岐さんも ソーシャルブックマークサービスを始められるみたい。
- 301 :名無しさん@勉強中 ★:07/12/02 11:36:25 ID:???
- 中国の掲示板
http://chinabbs.seesaa.net/
中国の掲示板: 日本語を勉強すると白い目で見られる
http://chinabbs.seesaa.net/article/51692218.html#more
百度_日??_周???我学日?
http://bbs.baidu.com/f?kz=230385104
これって簡体中文なんですが
やはりJaneNidaで読んでみたく思ったです。
文字コードを見ると「gb2312」との事なので
何らかの方法でUTF-8に変換してからdat化すれば
文字化けもしないんじゃないかなと。
cjcode.plで変換するなりxyzzyで読み込んでUTF-8保存するなりして。
上に挙げたブログを読んでみると
実に様々な掲示板(フォーラムといったほうがいいのかな)から引用されているですが
同様に専用ブラウザで読んでみたいなと。
・・・自分で何とかするしかないのかな。。
- 302 :名無しさん@勉強中 ★:07/12/02 12:00:39 ID:???
- メモ
http://takatyan.ddo.jp/test/read.cgi/main/1192376543/42
検索結果URL
http://takatyan.ddo.jp/title_search.cgi?query=検索ワード
- 303 :名無しさん@勉強中 ★:07/12/02 13:04:26 ID:???
- 関連で
Google Custom Search Engine - Site search and more
http://www.google.com/coop/cse/
これでwebarchive内のスレッドも検索出来れば面白いのですが。
現状、dumper.jpさんの所にあったログって探しようがないですし。
webarchiveに結構残ってるみたいなんだけど。
- 304 :名無しさん@勉強中 ★:07/12/02 13:12:52 ID:???
- webarchive関連といえば
下記フィルタをproxomitronに入れると文字化けしないです
[HTTP headers]
In = TRUE
Out = FALSE
Key = "Content-Type: Fix WebArchive Encode (in)"
URL = "web.archive.org/web/[0-9]+/.+"
Match = "(text/html)\0; charset=*"
Replace = "\0"
あと404だったり403だったり503だったりした場合にはこれ
[Patterns]
Name = "Error Page to Cache Page (2006-12-08 +1)"
Active = TRUE
URL = "$RESP((403|404|503)*)|$KEYCHK(C)"
Limit = 64
Match = "$RESP(\0)$STOP()"
Replace = "<h1> \0</h1> \n"
"<a href="http://web.archive.org/web/*/\u">Internet Archive</a> \n"
"<a href="http://www.google.co.jp/search?q=cache:\u">Google cache (co.jp)</a> \n"
"<a href="http://www.google.com/search?q=cache:\u">Google cache (com)</a> \n"
"<a href="http://megalodon.jp/?url=\u">ウェブ魚拓</a>"
どちらもproxomitronスレで教えて頂いたもので
すごく感謝しつつ入れさせて貰っています
- 305 :名無しさん@勉強中 ★:07/12/03 23:41:37 ID:???
- いやーpythonすげーやすげー。
こんな事もあんな事も出来るのか。
python版dat2htmlは意外に簡単に出来そうです。
python版htmltodatのほうも 無い頭を絞ればできるかもしれない
てか そう思ってなきゃ 何も出来やしない
まあ口だけで終わってしまっても別にいいんですが。
問題は、作ったスクリプトが
自分とこでうまく動いたとしても
LinuxやMac環境で使えるのかどうかという事で。
あと、同じwindowsでのpython環境でも
色々バリエーションがあるようで。
本家Pythonおよび日本語移植Pythonのみならず
ActivePythonやらIronPythonやらあるみたいなんですが
果たして同じ動作をするのだろうかと。
- 306 :名無しさん@勉強中 ★:07/12/04 08:24:50 ID:???
- と書いてから>>292のpython版html2datを思い出したので
今朝やってみたら
使えるではないですか!!
正規表現は
htmltodatでいうところの「read.cgi.7.00?」決め打ちみたいですが
これはその箇所を書き換えれば良いだけの話で。
という事で
>>282もこれを用いてdat化出来そうです。
文字コードUTF-8にして
スクリプト中のコード指定も
# -*- encoding: shift_jis -*-
を
# -*- encoding: UTF-8 -*-
にして
適当な正規表現に書き直して実行すれば良さそう。
- 307 :名無しさん@勉強中 ★:07/12/04 21:01:57 ID:???
- いずれにしても正規表現を書かなければdat化出来ぬ
こうかな
URL
http://cn2ch.cn/bbs/test/read.cgi/cn2ch/1169813975/
正規表現
m#<dt><input.+?><a.+?>([0-9]+)</a>.+?<b>(?:<a href="mailto:(.+?)">)?(.+?)(?:</a>)?</b>(?:</font>)? (.+?)<dd>(.+?)<br><br>(<dt>|</dl>)#mik
後処理
s#((?:^|\n).*?)(◆.+?)<>(.*?)<>#$1</b>$2<b><>$3<>#igk
wu G:\DOEVIEW051128\NIDAUTF8\NIDA070202\Logs\2ch\中国2ch\cn2ch\1169813975.dat
後処理のwコマンドはhtmltodat-convert.wsfで自動生成したものですが
UTF-8保存しないといけないので(付加機能感謝です)
「wu」としないと文字化けするです。
で、これでいいと思うんですが
Shift_Jisの文字コードでは存在しないような簡体中国文字フォントの部分が
ことごとく「????」になってしまうのは
さてどうしたものか・・・
逆に 例えばレス115等は何の問題もなく変換できてますが。
簡略化されて骨と皮みたいな感じの漢字とはいえ
或る程度内容を理解する手助けになる訳だし
選択して外部コマンドで飛ばして翻訳する事も出来るので何とかしたいところ。
python版html2datを
それ用にプチハック(カッケー!)するしかないのかな?
これって、フォルダ内一括dat変換とかも出来るようですし
改めてwshで車輪の再々発明とかするような気にもならんです
- 308 :名無しさん@勉強中 ★:07/12/05 12:42:10 ID:???
- Python で日本語を扱う基本をまとめてみるメモ(その1) - 猫(=・ω・=)顔 1.0β
http://d.hatena.ne.jp/nyagao/20070805/1186314723
- 309 :名無しさん@勉強中 ★:07/12/05 19:31:17 ID:???
- ・・・よし、上手くいったかも。
dat化したものをJaneNidaの該当フォルダに入れてに見てみたところ
文字化けも無い感じ。
ただ、TeraPad/xyzzyどちらで開いても
最初Shift_Jisで認識してしまいますね。
まあ大勢に影響は無さそうですが。
では適当なhtmlをDLしてdat化して
読んでみますか。
- 310 :名無しさん@勉強中 ★:07/12/05 19:54:28 ID:???
- >>292のスクリプト中の正規表現なんですが
43行目あたりの
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
# <dt>〜(?=<dt>)抽出
mo = re.match('.*?<dt><input.+?><a.+?>(.*?)<br><br>((?=(<dt>|</dl>)).*)', htmlstr)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ここで前スレ754で少し触れた肯定先読みの式を使ってるんですけど
これってどういう意味なのでしょうか。
Bregexp.dllとかで使えない使い方だからか 検索してもよくわかんないです
というかそれ以前に
上のって
カッコの中にカッコがあって
更にカッコがもひとつあるんですが
んもう頭がこんがらがってしまってるです
- 311 :名無しさん@勉強中 ★:07/12/05 20:12:10 ID:???
- という事で
非windows環境での諸ミラーサイトのhtmlを各自dat化してもらうような事も
何とかなりそうですね。
MacやLinux(Fedora系だけかな)でPythonが標準装備されているそうですし。
ただ、実際に使えるかどうかは
誰か試して下さる方が出てこない事にはどうにもなりませんが
今のところ そういう方も居られないようなので
気が向いたらそのうちやってみようかなと。
- 312 :名無しさん@勉強中 ★:07/12/05 20:28:06 ID:???
- と書いてからpythonスレを巡回してたら
Pythonのお勉強 Part22
http://pc11.2ch.net/test/read.cgi/tech/1196426978/58
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
58 名前:デフォルトの名無しさん[] 投稿日:2007/12/05(水) 18:44:02
2chのログを保存しているサイト(みみずん、snapshot 2ch等)からログを引っ張ってきて、
dat形式に変換してローカルに保存したいのですが、
自分がうんこ野郎なので、webサイトから何かしらのデータを取得する方法が分かりません。
主にどのようなライブラリを使えば良いのでしょうか?
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
何というタイミング・・・
とりあえず58さんの環境を知りたく思ったですが
python初心者の自分が出てもグダグダになるだろうなと
- 313 :名無しさん@勉強中 ★:07/12/06 17:13:51 ID:???
- windowsをお使いの方みたいですね。
とりあえず投稿してみようかな
さて
出来たです。やったー。
http://www.geocities.jp/mirrorhenkan/others/img/cn2ch20071206.png
で、これをやっているうちに
右上窓のほうでも外部コマンドが出来ればいいなと思ったです。
あと それとの絡みで
やはりwshでhtmltodatみたいなスクリプトを作ったほうが
今まで作ったものを一部流用出来るなーと。
- 314 :名無しさん@勉強中 ★:07/12/08 08:03:50 ID:???
- さて
やはり動的に取得したいなと
phpでhtmlをdat化するプロキシCGIを書いてみましたが(てかツギハギコピペ^^;)
これをJaneNidaで読み込ませるにはどうしたものでしょう。
あとで要望してみますか。
- 315 :名無しさん@勉強中 ★:07/12/08 17:55:35 ID:???
- 作ったものはこちら
http://mirror.s206.xrea.com/x/htmltodat/?url=http://cn2ch.cn:80/bbs/test/read.cgi/cn2ch/1172006580/
dat化の対象htmlはこれ
http://cn2ch.cn:80/bbs/test/read.cgi/cn2ch/1172006580/
で、問題なんですが
これをproxomitronで読み込んだ場合
なぜか上のスレだけ レス1の本文が表示されないのです。
ポップアップでは表示出来るので不思議。
ちなみに他のスレではOKなのでなお不思議。
UTF-8のdatはJaneNidaでしか読み込めないので
他で訊けないのだよなー。
それと、思い上がる訳ではないのですが
こんな事やってる方ってそうそう居られないと思うので
要望して、万一「需要はあるの?」とか言われたら返答に困りますし。
- 316 :名無しさん@勉強中 ★:07/12/08 18:30:02 ID:???
- さて次は
wshでhtmltodatのようなものですかね。 (←書いただけかも)
cn2chのような dat直読み出来ない板を専用ブラウザで読みたい場合
dat化CGI経由よりはDLして自前dat化させるほうが
自給自足的で良さそうじゃないですか。
何より、文字コードUTF-8で
繁体・簡体その他の文字混じりのhtmlをdat化させようとしても
現状 誰もやってくれなさそうですし。
仕方無いので独りコツコツと暗中模索するしかない。
と書いただけかも。
- 317 :名無しさん@勉強中 ★:07/12/08 19:48:30 ID:???
- 要望を書かせて頂いたです
http://pc11.2ch.net/test/read.cgi/software/1195310686/358
もし、datの位置をある程度自由に設定出来るようになったとしたら
megaBBSをはじめとして 結構多くの掲示板が読めるようになるのではないかなと。
で、それ以外の形式の掲示板でも
dat化CGI経由で読み込むように設定すれば(dat化CGIは作らなければいけないですが)
ものすごく選択肢が拡がるのではないかと思うです。
まあスルーされたらそれまでの話ですけど。
で、>>315のdat化スクリプトも出しておくです
http://mirror.s206.xrea.com/x/htmltodat/htmltodat.phps
正規表現の箇所と次の始端(この場合は「<DT>」)のところを変更すれば
他のhtmlにも使えると思うです。
前処理・後処理・変換結果式等はつけてないですが、まあ何とかなるのではないかと。
それにしても、慣れているからか
他言語と比べて phpは理解し易いなー。
- 318 :名無しさん@勉強中:07/12/09 00:21:37 ID:bZpZAxtN
- プロキシでhtmlからdatに変換しつつ取得する場合、
「差分取得」は原理的に無理ですよね?
であれば毎回全部取得するしかないと思うのですが
Janeの場合、レスポンスが206でなく200の場合
(Range: が指定されていない場合かも)
内部で自動的に差分だけをマージするような動作を
してくれていたと思うのです。
以前様なプロキシを作った経験より。
- 319 :名無しさん@勉強中 ★:07/12/09 12:16:17 ID:???
- 何だか大変な事に首突っ込んじゃったかなぁ・・・
まあ頭の体操という事で。
>>318
これはこれは。先輩ですね。
どの言語でプロキシをお作りになられたのか知りたかったり。
> プロキシでhtmlからdatに変換しつつ取得する場合、
> 「差分取得」は原理的に無理ですよね?
「原理的に無理」という事はないと思うです。
例えば したらば掲示板とかdatの差分取得出来てますし。
例を出すと、例えば下記スレ
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/
これのdatは下記
http://jbbs.livedoor.jp/bbs/rawmode.cgi/computer/1929/1038588508/
つまり、したらば掲示板のdatは
httpリクエストがあったら リダイレクトなり何なりして
datを都度生成(=リダイレクト)する 動的なものだと思われます。
とはいえレスポンスヘッダ(カッケー!)を見ても
ステータスコード304や200や206を返してますし
Content-Lengthも返ってきており
差分取得も 問題なく出来ているので。
この辺りの事って、したらば掲示板作者のけんすうさんに
訊いてみてもいいかもですが
まあいいや・・。
ロケスタ社長日記
http://blog.livedoor.jp/kensuu/
けんすうライフログ
http://d.hatena.ne.jp/kensuu/
ひとり開発ブログ
http://blog.ideami.jp/
- 320 :名無しさん@勉強中 ★:07/12/09 12:50:02 ID:???
- 繰り返しになりますが
他言語では判りませんが(したらばはperlかな)
phpでは出来なくもないかなと。
少なくとも「原理的に無理」という事は無いと思うです。
差分取得の場合、
・If-Modified-SincenリクエストによるLast-Modified(ファイルの更新時間)取得
・ステータスコードの戻り値(更新ならHTTP/1.1 206 Partial Contentだったかな)
・Range: bytes
を見ているように思えるので
そのようにヘッダを返してやるだけで良いと思うです。
phpのheader命令に適切な値を入れれば良さそう。
詳しくは下記
header
http://php.s3.to/man/function.header.html
>>317のスクリプトソースでいうと
header("Content-Type:text/plain");
に続いて
例えば
header("HTTP/1.1 206 Partial Content");
header("Last-Modified: Sat, 08 Dec 2005 14:25:19 GMT");
header("Content-Length: 3378");
とやれば(したらばdatのように)静的ファイルのようなレスポンスを返せそうですし
従って差分取得も可能になるのではないかと。
試しにやってみましたが
書いた通りのヘッダやステータスを返してますね。
http://mirror.s206.xrea.com/x/htmltodat/test.php
ソースは下記
スレッドのタイトルを取得するテストに使ったものの再利用ですが。
<?php
$url = "http://cn2ch.cn/bbs/test/read.cgi/cn2ch/1169813975/";
$source_array = file($url);
$source = join("", $source_array);
eregi("<title.*>(.*)</title>", $source, $title);
header("HTTP/1.1 206 Partial Content");
header("Last-Modified: Sat, 08 Dec 2005 14:25:19 GMT");
header("Content-Length: 3378");
echo $title[1];
php?>
- 321 :名無しさん@勉強中 ★:07/12/09 13:02:36 ID:???
- >>319追加
100日プログラミング
http://100prog.com/
けんすうさん、phpを始めて100日足らずとの事ですが
やはり凄いなと。
って、そういえば
自分もpython始めてまだ3週間足らずだけど
比べちゃいかん
- 322 :名無しさん@勉強中 ★:07/12/09 13:20:32 ID:???
- >>320続き
もしやるとすると
・dat化プロキシにhttpリクエスト
↓
・dat化させたものの最終レスの時間をGMT化してlast-modifiedに格納
httpリクエストのIf-Modified-Sinceの時間の項目と比較:
項目そのものが無かったらステータス200
同じならステータス304
違っていたらステータス206
↓
・ステータス200 or 206の場合
dat化したテキストファイルのバイト数を取得して
Content-Lengthに格納
↓
・レスポンス
この流れで良いのではないかと。
まあやってみないとわかりませんが。
・・・というか
今日は時間がとれなさそうなんですが・・・。
- 323 :名無しさん@勉強中 ★:07/12/09 14:27:04 ID:???
- ところで>>320のソースなんですが
eregi("<title.*>(.*)</title>", $source, $title);
の正規表現の部分、
ほんとは最短一致で
eregi("<title.*?>(.*)</title>", $source, $title);
とやりたかったんですが
こうやると「eregiの書式が変です」みたいなエラーが出るのですが
何でなのでしょうか。
php特有の問題なのかな。
phpでは最短一致の「?」って使えないんでしょうか。
ここ見てるかもしれない人でphpに詳しそうな方というと
com-nika.osask.jpのnikaさんとか
2se.dyndns.orgのsyoboonさんとか
namahageのひろせあさんとかですかね。
sane.justblog.jpの實松アウトプットさんも見てるかもしれないですが。
- 324 :名無しさん@勉強中 ★:07/12/09 15:22:57 ID:???
- 書いたです
ちょっと余裕が無かったので>>317を自己コピペしたりして
http://pc11.2ch.net/test/read.cgi/software/1195310686/383
でもこれって、読む人によっては
顔を真っ赤にして涙目になりながら
必死に反論しているような文章に見えるのかもしれないなぁ
全然そんな事はないんだけどなぁ
- 325 :名無しさん@勉強中 ★:07/12/09 16:03:50 ID:???
- >>318後半
> Janeの場合、レスポンスが206でなく200の場合
> (Range: が指定されていない場合かも)
> 内部で自動的に差分だけをマージするような動作を
> してくれていたと思うのです。
という事は、
datファイル(のようなもの)が更新されているorローカルに該当datが無い場合は
どちらでも200を返しておいてもいいという事ですか。
あと実は
「マージ」ってよくわかんなかったり。
http://www.google.com/url?sa=t&ct=res&cd=1&url=http%3A%2F%2Fe-words.jp%2Fw%2FE3839EE383BCE382B8.html&ei=1ZJbR5bxBJamswLv1YiIBw&usg=AFQjCNG56KvMvaqO5MVodbm1aX5cRxsJZg&sig2=WyyOB07q51ECwy7lZ_tWrw
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
【マージ】 「合併する」「融合する」といった意味の英単語で、複数のファイルやデータ、
プログラムなどを、決められたルールに従って一つに統合すること。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
なるほど
差分取得=マージという理解でいいのかな(細かく見たら違うでしょうけど)
- 326 :名無しさん@勉強中 ★:07/12/09 19:18:39 ID:???
- 可否はさておき>>322を考えてみますか。
いやー面白いなー。
> ・dat化させたものの最終レスの時間をGMT化してlast-modifiedに格納
http://cn2ch.cn/bbs/test/read.cgi/manhua/1161804392/
を例にとると
最終レス時間はレス64の「2007/11/05 21:11」になるので
何らかの方法でこの文字列を取得して
splitまたは正規表現その他で下記形式に格納
RFC822フォーマット(って何)での日付表示だと
「Fri, 11 May 2007 00:11:21 +0900」となってしまうので
面倒だけど下記
$last_modify = date ("D,d M Y H:i:s", mktime (0,11,21,05,11,2007));
これで$last_modifyには「Fri,11 May 2007 00:11:21」が格納されるので
header("Last-Modified:".$last_modify." GMT");
と付ければLast-Modifiedのヘッダ送信出来上がり
実際試したら出来てます
<?
//2007/11/05 21:11
$last_modify = date ("D,d M Y H:i:s", mktime (0,11,21,05,11,2007));
header("Last-Modified:".$last_modify." GMT");
echo $last_modify;
?>
- 327 :名無しさん@勉強中 ★:07/12/09 19:50:17 ID:???
- 次
> httpリクエストのIf-Modified-Sinceの時間の項目と比較:
> 項目そのものが無かったらステータス200
> 同じならステータス304
> 違っていたらステータス206
クライアント(カッケー!)からのIf-Modified-Sinceリクエストは
「$_SERVER['HTTP_IF_MODIFIED_SINCE']」で取得出来るみたい
サーバによって出来なかったりするみたいですが。
なので、issetでリクエスト取得可否を調べてからUNIXタイムスタンプに変更。
$if_modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ?
// UNIX タイムスタンプに変換
str2time( stripslashes( $_SERVER['HTTP_IF_MODIFIED_SINCE'])) : false;
これを>>326のUNIXタイムスタンプ化したものと比較して
(1)項目そのものが無かったら
header("HTTP/1.1 200 OK");
(2)変化なしなら
header("HTTP/1.1 304 Not Modified");
(3)タイムスタンプが違っていたら
header("HTTP/1.1 206 Partial Content");
をそれぞれ付けてやれば良さそうです。
参考URL:
PHP で If-Modified-Since に対応してみる -avoidnote-
http://www.avoidnote.com/archives/2005/07/modified_since.php
モジュール版PHPで「If-Modified-Since」に対応する
http://www.arielworks.net/articles/2004/0125a
- 328 :名無しさん@勉強中:07/12/09 21:58:02 ID:bZpZAxtN
- >> プロキシでhtmlからdatに変換しつつ取得する場合、
>> 「差分取得」は原理的に無理ですよね?
言葉足らずだったかもしれません。
例えばJaneで差分取得する場合、
1:2ch>取得済みのdatのバイト数からRangeでリクエストしdatを取得する
2:したらば>取得済みのdatのスレ数からrawmode.cgiでリクエストしdatを取得する
3:まちBBS>取得済みのdatのスレ数からhtmlを取得しdat変換する
少なくともこれくらいのバリエーションがあるわけです。
基本はもちろん1なので、「差分取得が原理的に無理」ていうのはそういう意味です。
(2,3はURLを判別してのスペシャル処理なので)
で、プロキシでhtmlからdatに変換しつつ取得する場合となると
多分まちBBS方式になるでしょう。
でもそれはBBSの種類により方式が異なる可能性が高いわけで
それを専ブラ作者にいちいち対応してもらえるのも難しいでしょうから
結局プロキシ側で吸収するしかないと思われます。
バリエーションが増えてくると対応するのは大変でしょう。
あと、「差分」を確認するためにはローカルのdatを都度読まないといけないと
思われますがこれも意外に敷居が高いと思います。
> あと実は
> 「マージ」ってよくわかんなかったり。
まあ言葉の意味はどうでもいいんですが実際試してみるといいと思います。
ある程度取得済みのスレにレスポンス206で返すと全部追加される
はずですが、200だと取得済みのレスとの比較を行って新たに追加された
レスだけ追加されると思います。
- 329 :名無しさん@勉強中 ★:07/12/10 20:50:42 ID:???
- ぐあー余裕が無いー。
>>328
えーと、もしかしたら 前々スレ191-193の
謎の通りすがりさんのように実はとても凄いお方の御降臨なのかもしれず。。
もしそうだとしたら 釈迦に説法 平に平に御容赦頂きたく。
(って 相手によって態度を変えている訳でもないですが)
で、早速ですが
> で、プロキシでhtmlからdatに変換しつつ取得する場合となると
> 多分まちBBS方式になるでしょう。
> でもそれはBBSの種類により方式が異なる可能性が高いわけで
> それを専ブラ作者にいちいち対応してもらえるのも難しいでしょうから
> 結局プロキシ側で吸収するしかないと思われます。
・・・えーと。
もう作ってあるのは判っておられますよね。
>>315でも出しましたが再掲すると
http://mirror.s206.xrea.com/x/htmltodat/?url=http://cn2ch.cn/bbs/test/read.cgi/cn2ch/1172006580/
dat化したこれの元スレは
http://cn2ch.cn/bbs/test/read.cgi/cn2ch/1172006580/
という事なのですが。
で、差分取得云々という事なので調べてたら
レスポンスヘッダのステータスコードやContent-Length等を適切に返せば良さそうなので
phpでそのような事も出来そうだな(>>320)という事だったんですが。
んもー
何でみんな判ってくれないのかなー。
subject.txtは読み込めるけどdat直読み出来ない板(http://cn2ch.cn/)を
専用ブラウザでストレスなく読みたいだけなんだけどなー。
これが文字コードShift_Jisの板なら
htmltodat-convert.wsf(http://www.geocities.jp/mirrorhenkan/jane/htmltodat-convert/)
でOKなんだけどなー。
これが文字コードUTF-8なので使えないもんだから
pythonやphpでdat化する方策を模索しただけなんだけど。
で、何とかdat化プロキシが出来たっぽいから
datの位置を(datフォルダ固定でなく)別個設定出来るようにして欲しかっただけの話で。
subject.txtは問題なく読み込めるので
どのスレッドが更新されたかとかはスレッド一覧で問題なくわかるんですよ。
そのスレだけdat化プロキシ経由で取得すれば良いだけの話なんで
差分取得云々は正直どうでもいい。
で、結局何をしたいかというと
現地の方が現地語で「萌え〜☆」とか書いてるのを見てみたいだけなんですが。
例えば下
笑わば笑え
“常萌”有希?
http://cn2ch.cn/bbs/test/read.cgi/COSPLAY/1161396248/
- 330 :名無しさん@勉強中 ★:07/12/10 21:01:00 ID:???
- ちなみに、phpinfo()を見ると
xreaでは$_SERVER['HTTP_IF_MODIFIED_SINCE']が使えないみたいです。
phpinfo()
http://mirror.s206.xrea.com/x/htmltodat/phpinfo.php
途中にある「last_modified」の項目が0になっていますし
print_r($_SERVER)で環境変数一覧を出力してもlast_modifiedがないみたい。
環境変数を取得出来ないとなると
>>327自体が無意味になってしまうです。
この環境変数を使えるphp可のサーバを探すのも何ですし
とりあえず棚上げですね。
使えれば本当にうまくいきそうなんだけどなー。
- 331 :名無しさん@勉強中 ★:07/12/10 21:22:35 ID:???
- 繰り返しになりますが
単にdatの読み込み先を変えたいだけなんですよ。
勿論、まちBBSのようにhtmlをdat化する機能を内蔵して頂けたら有り難いんですが。
例えば えまのんとかだと htmltodatでいう「read.cgi.7.00?」のhtmlだけですが2CI化してくれるみたい。
proxomitronを使えばリダイレクトとかも出来るんですが
出来ればそのまま読み込めたほうがいいなと。
フィルタを使うとしたら下記
キーボードのCとZを押しながら読み込めばプロキシCGI経由になるです
[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL: Non-dat BBS to ProxyCGI (Out)"
URL = "$KEYCHK(Z)$KEYCHK(X)"
Match = "http://(*)\0/([^/]+)\1/(dat/|kako/\d+/\d+/)(*)\2.(dat|dat\.gz)"
Replace = "$RDIR(http://mirror.s206.xrea.com/x/htmltodat/?url=http://\0/test/read.cgi/\1/\2/)$FILTER(false)"
って
こういう事書いてもわかる方にしかわかんなさそうですし
わかんない方には導入方法とかから伝えるのも前スレ283以降ので私には不適格だと思いましたし
わかる方には 何だその程度の低いショボいフィルタはとか言われそうだし
そういう事を考えると
って何言いたいのだ私は
- 332 :名無しさん@勉強中 ★:07/12/10 21:40:10 ID:???
- で
http://pc11.2ch.net/test/read.cgi/software/1195310686/386
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
スレッド一覧で外部コマンドが使えるというのは便利ですよね。
スクリプトにURLを渡してやることで色々と応用が利きそうです。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ではwshでhtmltodatのようなものを作りますか。
dat変換用の正規表現中で2バイト文字(UTF-8なら3バイト文字か)を使わなければ
どの文字コードでも問題なくdat化出来るみたいですし。
車輪の再々発明になりますが、本家でUTF-8のファイルがdat化出来ないみたいですし
それなりに意味はありそうです。
- 333 :名無しさん@勉強中 ★:07/12/10 21:43:42 ID:???
- >>331訂正
×キーボードのCとZを押しながら
↓
○キーボードのXとZを押しながら
- 334 :318=328:07/12/10 23:30:11 ID:yolwaXMk
- 誤解されておられるかもしれないですが、
貴方のやろうとしてることを否定しているわけでは全然ないですよ。
ただ、自分の経験上、同様のソフトで一番面倒だったのは差分取得の部分だったので
指摘しておきたかっただけで。
> 差分取得云々は正直どうでもいい。
のなら無視してもらっていいです。
- 335 :名無しさん@勉強中 ★:07/12/11 02:17:44 ID:???
- いえ、別に誤解しているつもりもないです。
ただ、転送量がシビアなものとかなら別ですが
あまり過度のアクセスもなさそうなものの場合
わざわざ難しく考えなくても良さそうな感じがするだけです
経験の浅い者が書いても空疎なだけですが
そもそもdatの差分取得の重要性というのは
read.cgi経由の取得ではCGI・転送量の両方とも負荷が高いので
CGI不可のない静的なdatを
そして転送量を抑えるために差分取得を という流れで出た話だと思うのですが
一般的に言われている差分取得の意義ってそういう風な理解で良いんですよね。
となると
read.cgiのみ閲覧出来て dat直読み不可の板を閲覧する場合
そういうのってあまり意味がないような気がするのですが。
てか そんなワッショイワッショイと人が集まるようなものだったらまた考え直しますが
そこまでアクセス集中するようなものでもないと思うのです。
浅墓かな。
- 336 :名無しさん@勉強中 ★:07/12/11 02:31:53 ID:???
- という事で
wshでhtmltodatのようなものを出しとくです
http://www.geocities.jp/mirrorhenkan/wsh/htmltodat/htmltodat_wsh_0_0_1.zip
試作品という事でsample.htmlをdat化させるだけのスクリプト
案ずるより産むが易しで 思ったより簡単に出来たです。
やたらに時間がかかるです。
いったん丸ごとデータ取得する箇所で時間をとられるみたい。
で、データ取得後のdat化はそう時間はかからない感じです。
この辺 いろいろ改良の余地がありそう。
って 続けるならの話ですが。
反応とかも期待してないですし。
pythonのhtml2datとかだと
何十個ものhtmlをスココンスココンとあっという間にdat化してくれたので
wsh版も同じくらいのスピードと途中経過の可視化が出来たら面白いかなと。
- 337 :名無しさん@勉強中 ★:07/12/11 08:24:25 ID:???
- ちょっと昨晩の文を読んで反省したです。
有用な助言を頂きながら 何も活かせずに過ぎてしまうのかなと。
そのうち裸の王様になってしまうかも
いやなっているのかも。
で
>>309で使った
python版html2datも出しておくです
http://www.geocities.jp/mirrorhenkan/python/htmltodat_for_cn2ch.zip
html2dat_UTF8.pyと35個のhtmlファイルが入っているので
pyファイルを実行(ダブルクリック)すれば全部dat化されると思うです
pythonが入っている人しか使えないものなのでwindows環境ではほとんど居ないと思うですが
Mac/Linuxではほぼ標準で入っているそうなので
そのような環境で余裕がある方は試してみて頂きたく。
良かったら結果を教えて頂きたく思うです
- 338 :名無しさん@勉強中 ★:07/12/11 17:53:19 ID:???
- メモ
WSH@Workshop - WSHのサンプル集&リファレンス
http://wsh.style-mods.net/index.htm
- 339 :名無しさん@勉強中 ★:07/12/11 18:06:11 ID:???
- >>336
> やたらに時間がかかるです。
> いったん丸ごとデータ取得する箇所で時間をとられるみたい。
> で、データ取得後のdat化はそう時間はかからない感じです。
> この辺 いろいろ改良の余地がありそう。
という事で、色々試してみようかなと思うんですが
wshでのベンチマークテスト(? 意味不明なまま書いちゃったけど^^;)ってどうやるんでしょうか。
データ取得にしても
ReadAll()で丸ごと取得したり
配列に入れたものをjoinで結合取得したり
同じく配列からforの繰り返しで結合取得したりとか色々あるですが
それぞれにかかる時間って どうやって調べればいいんだろか。
ストップウォッチ片手によーいドンでそれぞれ計測するのもいいんですが
やっぱかっこいい事やってみたいですよねー。
- 340 :名無しさん@勉強中 ★:07/12/12 12:40:23 ID:???
- メモ
お前ら、wsh使ってますか? Part4
http://pc8.2ch.net/test/read.cgi/win/1100489339/887
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
887 名前:名無し~3.EXE[sage] 投稿日:2005/07/13(水) 17:55:23 ID:9mrwEXfu
改行文字って知ってるかい? ってか知らないからこうなんだろうな。
文字列の一行の最後に含まれる仮想的な文字のことなんだけど。
ReadLineは一行の改行直前まで読み取る。つまり改行文字は含まれない。
で、その改行文字を含まない文字列をどんどん足していっちゃったからベタな無改行文字列が出力されたって訳。
改行文字をVBScriptでどう表現するかはこんな感じでぐぐれ。
ttp://www.google.com/search?num=100&hl=ja&c2coff=1&q=VBScript+%E6%94%B9%E8%A1%8C%E6%96%87%E5%AD%97&lr=lang_ja
で、WriteLineは文字列の後ろに改行文字を付加して書き込む。
であるからさ、ReadLineしたのを一々fにため込んだりせずにそのままWriteLineすれば簡単だと思わないか?
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
- 341 :名無しさん@勉強中 ★:07/12/12 14:54:09 ID:???
- あと現状のhtmltodat.wsf(って書いていいのかな・・何か申し訳ないような)だと
ReadAll()でいったん全部取り込んでから改行コードを削除してるですが
この改行削除ルーチン(カッケー!)で
http://www.kanaya440.com/contents/tips/javascript/002.html
を使わせて頂いているです。
で、これをよく見てみるに
−−−−−−−−−−−−−−−−−−−−
for(var i=0; i<myLen.length; i++){
text = escape(myLen.substring(i, i+1));
if(text != "%0D" && text != "%0A"){
newLen += myLen.substring(i, i+1);
}
−−−−−−−−−−−−−−−−−−−−
ループで該当ファイルを一バイト(?)づつ取り出して
それが改行コードかどうか見てるみたい。
という事は、1000レスあるhtmlとかだと
仮に1レス50文字(=100バイト)として
1000レス×100バイト=10万ループしている計算になるですか!!
その前後のhtmlタグを含めたらもっと膨大なループ回数という事に。
ルーチンを使わせて頂いた方には申し訳ない話なんですが
もしかしたらこれが遅くなっている原因の一つなのかも。
- 342 :名無しさん@勉強中 ★:07/12/12 19:49:11 ID:???
- htmltodat.wsfですが
「ほんとに動いてんのかな 固まってんじゃないだろうな」と自分でも思ったので
経過表示するようにしたです。
これがあると結構ストレスがなくなったりして
でも今日はここまで
ああ余裕がない余裕がない
- 343 :名無しさん@勉強中 ★:07/12/13 07:59:28 ID:???
- テキストデータを合成するプログラム - 教えて!goo
http://oshiete1.goo.ne.jp/qa2711256.html
- 344 :名無しさん@勉強中 ★:07/12/13 21:05:53 ID:???
- という事で
htmltodat.wsfのdat化部分は何とか固まったっぽいです
http://www.geocities.jp/mirrorhenkan/wsh/htmltodat/htmltodat005.zip
変換速度もスココンスココンとまあいい感じ。
ところでやっていて気付いたのですが
これってsample.htmlを本家htmltodatと同じものにしたのですが
最初うまくいったので「よーし次は改行無しのhtmlにしてdat化だ」とやってみたら
全然うまくいかない。
あれこれ考えてやっと判ったのは
本家htmltodatの正規表現「sample」では
本文に該当する箇所で最短一致にしてないのが原因だったみたい。
つまり
m#<DT>([0-9]+).+?(?:<A HREF="mailto:(.+?)">)?<b> (.*?) </b>.*?投稿日: (.*?)<BR><DD>(.*)<BR><BR>#mi
これだと
sample.htmlの改行無しバージョンだと本文が最長一致になってしまうので
m#<DT>([0-9]+).+?(?:<A HREF="mailto:(.+?)">)?<b> (.*?) </b>.*?投稿日: (.*?)<BR><DD>(.*?)<BR><BR>#mi
としてやっとマッチしたと。
ほんと正規表現は奥が深いなあと。
って
私が間違えてsample正規表現を改悪してあった可能性も捨てきれないのですが。
- 345 :名無しさん@勉強中 ★:07/12/14 08:19:41 ID:???
- さて次は
Web上のhtmlをdat化して
指定フォルダ内への保存ですかね。
ここで留意点なんですが
Web上の文字コードによって
DLする時の方策が違ってくるです
Shift_Jisの場合とUTF-8のそれとでは方法が違っていて
逆の方法でやったら文字化けしてしまうのですが
まあ この辺りは各自で取捨選択して頂くしかないかも
って使う奴おるんかい
でもこれって実は
クラシックOSを使っている者だけの悩みっぽくて
実際はADODB.streamでDLすれば全く無問題なのかも。
BASP21が入っていたらそれを使ってもOKですし。
- 346 :名無しさん@勉強中 ★:07/12/14 16:48:05 ID:???
- さて
空き時間に頭の体操のつもりでやってみたら
Web上のhtmlをdat化する事が出来たです。
あとはdat化したものの保存先ですが
これもそう難しくなさそう。
作ったものの用途ですが
dat直読みできない板を無理矢理dat化させて
Janeで読めたら嬉しいなあというだけの事で。
まあ私しか使わない事でしょうけど。
副産物として
p2todatやgetlog.wsfのような事も出来そうですが
こっちのほうは 別にいいです
- 347 :名無しさん@勉強中 ★:07/12/14 20:37:51 ID:???
- http://pc2.2ch.net/test/read.cgi/win/1022248379/635
PC等 [Windows] “お前ら、wsh使ってますか? Part2”
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
635 名前:624 [sage] 投稿日:03/03/02 13:01 ID:ZynoVCOP
しまった、GMT - JST = -9 やん。
そのままでは恥ずいので、www.yahoo.co.jpサーバからGMTを取得するScript
Set xh = WScript.CreateObject("Microsoft.XMLHTTP")
xh.Open "HEAD", "http://www.yahoo.co.jp/", False
xh.send Null
sDate = xh.getResponseHeader("Date")
sDate = Replace(Mid(sDate, 6, 20), " ", "-", 1, 2)
datGreenwich = CDate(sDate)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
- 348 :名無しさん@勉強中 ★:07/12/15 10:25:26 ID:???
- うーむ
UTF-8のhtml取得って結構厄介だなー。
下のファイルをtest.jsにして実行しても簡体字フォント部分は文字化けしとるです。
保存する文字コードをUTF-8やUTF-8NやUnicodeにしても結果は同じ。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
var strUrl = "http://cn2ch.cn/bbs/test/read.cgi/tongren/1195601732/";
var oXMLHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
with(oXMLHttpRequest)
{
Open("GET", strUrl, false);
Send();
}
var str=oXMLHttpRequest.responseText;
WScript.echo(str);
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
どこかで読んだですが
UnicodeとUTF-8って別物なんだなーと。
どうしても解決出来なかったら
pythonでやってみますか。
Web上のデータの読み込み部分を追加すれば良さそうなので。
- 349 :名無しさん@勉強中 ★:07/12/15 10:48:08 ID:???
- と書いたけど
win2000以上とかだと文字化けしないかもですが
何方か試して頂けないかなと
- 350 :名無しさん@勉強中 ★:07/12/15 11:26:56 ID:???
- HTTP Get -- 各キャラクタセットのWebページの読込み ( IXMLHTTPRequest )
http://winofsql.jp/VA003334/smalltech040206011410.htm
まさか解決策不在なのか? OperaのXMLHttpRequestオブジェクトのresponseTextが文字化けする問題の更なる深み 【▲→川俣晶の縁側→ソフトウェア→技術雑記】
http://mag.autumn.org/Content.modf?id=20051210160430
- 351 :名無しさん@勉強中 ★:07/12/15 11:37:51 ID:???
- >>348
> どうしても解決出来なかったら
> pythonでやってみますか。
その前に
ADODB.streamを使う奴と
BASP21を使う奴をやってみますか。
自分の環境では後者しか確認出来ないですけど。
- 352 :名無しさん@勉強中 ★:07/12/15 12:26:01 ID:???
- いやー文字コードよくわかんないや
お前ら、wsh使ってますか? Part4
http://pc8.2ch.net/test/read.cgi/win/1100489339/269,367
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
269 名前:名無し~3.EXE[sage] 投稿日:05/01/14 22:04:18 ID:9FAifjvD
>>266
たしか、ResponseBodyはUTF-16BEになってると思う。
367 名前:名無し~3.EXE[sage] 投稿日:05/02/19 09:06:43 ID:PxBwsUtK
>>366
対象のhtmlファイルの文字コードと、
どう元ファイルを開いてるか、保存ファイルをどう作ってるかのコードを。
UTF16/UTF8なら、OpenTextFileの第4引数に-1、CreateTextFileの第3引数にTrueを入れればいけると思うけど。
//UTF8をUTF8のままで保存してくれるのは良いけど、なんでUTF16用のBOM付きなんだ……? >FileSystemObject
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
上の366さんの書き込みも面白いです
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
366 名前:名無し~3.EXE[sage] 投稿日:05/02/19 05:26:30 ID:5E0bL9lX
中国語のHTMLテキストを整形しているのですが、ReadLineやReadAllを使うと一部の中国語が勝手に変換されてしまいます。
どのような対策が考えられるでしょうか?
370 名前:366[sage] 投稿日:05/02/21 03:19:16 ID:y0/zN+N5
コード = gb2312
例えば、
ttp://www.eg365.com/disp.asp?boardid=12&typeid=237
をIEからファイル保存して、Q237.HTMという名前を付ける。
以下VBS。
IN_FNAME = "Q237.HTM"
set FS = CreateObject("Scripting.FileSystemObject")
set in_file = FS.GetFile(IN_FNAME)
set in_text_file = in_file.OpenAsTextStream(1) ''' 1 = for read
str = in_text_file.ReadAll
in_text_file.Close
OUT_FNAME = "Q237X.HTM"
FS.CreateTextFile OUT_FNAME
set out_file = FS.GetFile(OUT_FNAME)
set out_text_file = out_file.OpenAsTextStream(2) ''' 2 = for write
out_text_file.Write(str)
out_text_file.Close
VBSおわり。
"FC Q237.HTM Q237X.HTM"などすると違っている。(Windows98)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
- 353 :名無しさん@勉強中 ★:07/12/15 12:39:51 ID:???
- あ、出来たです。
>>352
> UTF16/UTF8なら、OpenTextFileの第4引数に-1、CreateTextFileの第3引数にTrueを入れればいけると思うけど
これやったらOKになったですよ。
チュートリアル見てもよくわかんないんですけど。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
var strUrl = "http://cn2ch.cn/bbs/test/read.cgi/tongren/1195601732/";
var oXMLHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
with(oXMLHttpRequest)
{
Open("GET", strUrl, false, -1);
Send();
}
var str=oXMLHttpRequest.responseText;
WScript.echo(str);
var moto = "testsample.html";
fs = WScript.CreateObject("Scripting.FileSystemObject");
abc = fs.OpenTextFile(moto, 2, true, -1);//2=ForWriting, true=create
abc.Write(oXMLHttpRequest.responseText);//改行コード入らない
abc.Close();
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
結果表示のポップアップでは文字化けしてるですが
生成したtestsample.htmlでは直ってるみたい。
- 354 :名無しさん@勉強中 ★:07/12/15 13:32:41 ID:???
- よっしゃ
では対象htmlがShift_JisとUTF-8の場合の分岐処理をすればいいのかな。
URLや保存先は
WScript.Arguments()で取り出せば良さそうです
- 355 :名無しさん@勉強中 ★:07/12/15 16:35:50 ID:???
- うむむ
上手くいったぜベイビーと思ってJaneNida該当フォルダに入れてみたら
「ここ壊れてます」ばかりで
生成したdatの文字コードを見たら
UTF-8ではなくUnicode(って何よ)になってるのが原因みたい。
datの文字コードをUTF-8に変換したら読み込めたです。
文字コードをUnicodeからUTF-8にして保存するにはどうすりゃいいんだ
ぐああ
- 356 :名無しさん@勉強中 ★:07/12/15 18:23:29 ID:???
- えーと
つまり>>353で生成されたhtmlの文字コードが
UTF-8ではなく
Unicodeなのがネックのようで。
どうしても駄目なら
御返事はあまり期待せず
偉い人に伺ってみるしかないかな
- 357 :名無しさん@勉強中 ★:07/12/15 19:46:25 ID:???
- 仕方ないので目先を変えて
pythonでやってみますか。
とりあえず>>279のスクリプトで
http://cn2ch.cn/bbs/test/read.cgi/tongren/1195601732/
を取得してみると
文字化けもせずUTF-8だったので
これを>>337のhtml2datに追加してみようかなと。
見よう見真似で何とかなりそう。
ただ問題は、これをJaneNidaで使う場合
getlog.wsfのような保存先フォルダ自動指定が出来ないのです
だってpython全然わかんないんだもん
ごめんなさいごめんなさい
- 358 :名無しさん@勉強中 ★:07/12/16 13:28:04 ID:???
- >>351
> ADODB.streamを使う奴と
> BASP21を使う奴をやってみますか
まず前者
下のをtestADODB.vbsとでもして保存
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
sSource = "http://cn2ch.cn/bbs/test/read.cgi/tongren/1195601732/" 'ダウンロード元
sDest = "testsample.html" 'コピー先
test = GetHTMLDocumentADODB(sSource, sDest)
Function GetHTMLDocumentADODB(sSourcr, sDest)
Set oHTTP = WScript.CreateObject("microsoft.xmlhttp")
oHTTP.Open "GET", sSource, False
oHTTP.Send
Set Stream = WScript.CreateObject("Adodb.Stream")
Const adTypeBinary = 1
Const adSaveCreateNotExist = 1
Const adSaveCreateOverWrite = 2
Stream.Type = adTypeBinary
Stream.Open
Stream.Write oHTTP.responseBody
Stream.Savetofile sDest, adSaveCreateOverWrite
End Function
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
これを実行して
同じフォルダにtestsample.htmlが出来ていたらいいなと。
自分の環境では試せないので何方か試して頂きたく。
これって>>52のスクリプトを手直ししただけなので
バイナリモードで取得するようになってますが
取得出来たらいいじゃないか(出来なかったら残念だけど)
- 359 :名無しさん@勉強中 ★:07/12/16 13:34:29 ID:???
- 次
BASP21を使う場合
testBASP21.vbs
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
test = GetHTMLDocumentBASP21("http://cn2ch.cn/bbs/test/read.cgi/tongren/1195601732/", "testsample.html")
Function GetHTMLDocumentBASP21(sURL, sFileName)
Set Fs = WScript.CreateObject("Scripting.FileSystemObject")
Set bobj = WScript.CreateObject("basp21")
sRoot=Fs.BuildPath(Fs.GetParentFolderName(WScript.ScriptFullName),"\") 'スクリプトのあるフォルダ
WScript.echo sRoot & sFileName
'hozontest = sRoot & sFileName
'rc = bobj.W3get("-d " & sRoot & " " & sURL)
rc = bobj.W3get("-d " & sRoot & " -o " & sFileName & " " & sURL)
End Function
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
BASP21は下からDL出来るです
1.44メガあるですがアンインストールも出来るので安心安心
http://www.hi-ho.ne.jp/babaq/basp21.html
どうしてもUTF-8のhtmlをローカル保存出来なかったら
これを使うしかないのかも。
でも、ふと思ったんですが
外国の方々も当然wshを使ってると思うですが
こういう場合 みんなどうしてるんでしょうか。
babaqさんがお作りになられたBASP21やBregexp.dllだって
日本ローカルのものでしょうし。
- 360 :名無しさん@勉強中 ★:07/12/16 13:37:09 ID:???
- >>358のコード スペルミス
×Function GetHTMLDocumentADODB(sSourcr, sDest)
↓
○Function GetHTMLDocumentADODB(sSource, sDest)
だって自分で試せないんだもの
だもんでまだあるかも
- 361 :名無しさん@勉強中 ★:07/12/16 14:43:25 ID:???
- >>359補足(言い訳)
> babaqさんがお作りになられたBASP21やBregexp.dllだって
> 日本ローカルのものでしょうし
これ別に他意や含意は全く無くて
勿論外国の方々で使っておられる方も居るとは思いますが
例えばBregecp.dllはShift_Jisでしか使えないという制約が未だにある訳で
もしUTF-8やUnicodeやBig5やgb2312でも使えたら
私が 無い頭をうんうん唸らせる事もないのですが。
鬼車のUnicode対応版も出ていますが
自分では何も出来ないですし。
K.Takata's software : bregonig.dll
http://homepage3.nifty.com/k-takata/mysoft/bregonig.html
例えば下のhtmlは文字コードBig5ですが
正規表現を考えればそれなりにdat化出来ると思うです
建議改用UTF-8編碼取代Big5編碼
http://web.archive.org/web/20050113190336/www.comic.com.tw/mini02/test/read.cgi/operate/1078772150/l25
- 362 :名無しさん@勉強中 ★:07/12/16 15:02:33 ID:???
- と書いたけど
英語版もあるという事は
何とかなるのかな>Bregexp.dll
BREGEXP.DLL
http://www.hi-ho.ne.jp/babaq/eng/bregexp.html
- 363 :名無しさん@勉強中 ★:07/12/16 20:21:46 ID:???
- 文字列を UTF-8 に変換
http://www.geocities.co.jp/SilkRoad/4511/vb/utf8.htm
参考になるかな
なったらいいな
JavaScriptでファイルの書き込みをUTF-8で行う(htaまたは、wsh用) - jiroの日記
http://d.hatena.ne.jp/sukesam/20070922/1190400851
- 364 :名無しさん@勉強中 ★:07/12/16 20:47:13 ID:???
- うむむ
BASP21のWgetでUTF-8のhtmlを取得するようにしたら
それを読み出して変換保存する箇所も変えなければいけないみたい
いやー面白いなー
文字コードって愉快だなー
あはは
- 365 :名無しさん@勉強中 ★:07/12/17 18:47:01 ID:???
- ちょうどBASP21に文字コード変換する命令があって
UnicodeからUTF-8に変換出来たです
より詳しく書くと
「UNICODE UCS2」から「UNICODE UTF8」への変換ですが。
簡単に変換スクリプトを書くと
仮に
文字コードUnicodeのtestsample.htmlを
文字コードUTF-8のtestsample1.htmlに保存するなら
testKconv.vbs
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Set bobj = WScript.CreateObject("basp21")
test = bobj.KconvFile("testsample.html","testsample1.html",5,4) ' UNICODE からUTF-8に変換
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
この2行だけで済んでしまうです
何て楽なんだ
という訳で
wsh標準機能のみでの変換はひとまず棚上げにして
これで一息つこうかなと。
- 366 :名無しさん@勉強中 ★:07/12/17 18:54:44 ID:???
- それにしても
Bregexp.dllがShift_Jis以外ではうまくいかないからって色々やって
結局babaqさんがお作りになられたBASP21を使うっていうのは
お釈迦様の手の掌から一歩も出られなかった孫悟空みたいなもんですかね。
でもまだ他に手はあるかもと思いはしますが。
次なんですが
ADODB.streamでUnicode→ UTF-8変換するような方策はないものかなと。
これがあればwsh標準の機能だけで出来るようになるので。
(ただ私は確認も何も出来ないので・・・ってもういいか)
- 367 :名無しさん@勉強中 ★:07/12/17 20:13:10 ID:???
- ADODB.streamの文字コード変換って
検索すると実にわんさかあるですね。
ありすぎてよくわかんない
それはそうと
これ↓もしかして使えないかな。
Unicode ⇔ UTF-8 by AOK
http://homepage3.nifty.com/aokura/jscript/utf8.html
- 368 :名無しさん@勉強中 ★:07/12/18 07:40:18 ID:???
- http://tmp7.2ch.net/test/read.cgi/download/1190839251/363
htmltodat.wsfでも出来ますが
wshでの変換はCやDelphiのと比べて格段に遅いでしょうし
わざわざ作って「おせーぞばか」とか言われても割に合わないし
ただでさえあちこち迷惑しまくり千代子なのにまた負荷をかけるのも何だし
やめとこかな
公開しても後悔するだけだろなと
てか現状でも
htmltodat-convert.wsfで何とかなるんじゃないかなと
- 369 :名無しさん@勉強中 ★:07/12/18 07:57:37 ID:???
- 中日翻訳(簡体字)=$CHOTTO http://www.excite.co.jp/world/chinese/?before=$TEXTIU&wb_lp=CHJA&big5=no&start=%E7%BF%BB+%E8%A8%B3&after=
これで中国2chのわかんないとこを外部コマンド翻訳して読んでるです
にしても 台湾の掲示板と違って ほとんど日本語出てこない感じですね。
「毒男板」「御宅族」とかは明らかに日本語由来でしょうけど
ってcn2chの存在自体が日本由来でしょうけど。
「有閑倶楽部板」って
今オンエア中のドラマの板なのかな
どうやって見てるんだろ
ジャニーズの画像(ですよね)が結構あるですが
日本じゃないから大丈夫なのかな
- 370 :名無しさん@勉強中 ★:07/12/18 08:06:26 ID:???
- VBScriptで文字コード変換 [Design For Life]
http://www.inaba.vc/item/5
[WSH] - Fioの素敵な日々
http://d.hatena.ne.jp/Fio/searchdiary?of=5&word=*%5BWSH%5D
- 371 :名無しさん@勉強中 ★:07/12/18 19:44:56 ID:???
- メモ
2ちゃんねる等可視化計画
http://v2ch.media.t-kougei.ac.jp/v2ch.php?r=XfW96eYtDjTL9CD6
これ
http://money6.2ch.net/test/read.cgi/haken/1197438526/
がdat落ちした後も閲覧可能だったら
どんなにか嬉しい事でしょうか。
- 372 :名無しさん@勉強中 ★:07/12/18 19:51:12 ID:???
- 詳細あったです
Vis2ch - MediaArtWiki
http://wiki.media.t-kougei.ac.jp/index.php/Vis2ch
−−−−−−−−−−−−−−−−−−−−−−−−−−−−
本文のキャッシュは元DATが倉庫入りした後もローカルに7日間だけ保持される。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−
- 373 :名無しさん@勉強中 ★:07/12/18 20:13:35 ID:???
- さて
BASP21でUnicode→UTF-8変換出来たので
今度はADODB.streamでのUnicode→UTF-8変換ですか。
自分には未知の分野なのでどうしたものか。
とりあえずコードを出しとくです
http://www.geocities.jp/mirrorhenkan/wsh/htmltodat/htmltodat006.wsf.txt
上のをダウンロードしてhtmltodat006,wsfにリネームして実行してみて下さい。
cn2chのスレッドがdat化されると思うです。
具体的に書くと
testsample.htmlとsample.datの2ファイルが生成されます。
前者はcn2chのhtmlそのもので
後者はそれをdat化したもの。
ただ、問題は
これらの文字コードがUTF-8ではなくUnicodeな点で。
ちなみにUTF-8だとdat化の際 正規表現が全然ヒットしないので
Unicodeのままdat化した訳で。
私が手を出せない箇所は
253-261行にある
−−−−−−−−−−−−−−−−−−−−−−−−−−−−
if(Uni2UTF8=="0"){
WScript.echo("文字コードShift_Jis");//何もしない
}else if(Uni2UTF8=="1"){
//ADODB.streamでUnicode→UTF-8変換
WScript.echo("ADODB.streamでUnicode→UTF-8変換");
}else if(Uni2UTF8=="2"){
WScript.echo("BASP21でUnicode→UTF-8変換");
BASP21ConvUni2UTF8(moto);//BASP21でUnicode→UTF-8変換
}
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
この
> //ADODB.streamでUnicode→UTF-8変換
の箇所で。
文字コードUnicodeのdatファイル「moto」をUTF-8に変換したいのですが
ADODB.streamでどのようなコードを書けばよいのか全然わからんのです。
自分のマシンで使えるのなら試行錯誤のしようもあるのですが。
反応があったら
おら 舞い上がっちまうで
ほんま
- 374 :名無しさん@勉強中 ★:07/12/19 17:48:28 ID:???
- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
たる さん 2001年 10月 19日 23時 46分 46秒
To:らしゅ さん
SJISのテキストを上書きしてEUCに変換します。
IE5.0以上必須です。
未検証ですがUCS2でも少し変えれば出来るかなぁと思います。
あれ?utf-8でしたっけ(←あいまいな奴)
本当は文字列をベタでノードにするより、createCDATASectionメソッドでノードにした方が
< > & 辺りの制限が無くて良いんですが(それでもまだ]]>という制限はあるけど)
他にも何か改良の余地がありそうなのでそこら辺も含め後でと言うことにして。
文字列の切り落としがあまりうまくないです。何かいい方法があったら教えてください〜(逃げ)
↑こんなこと仕事じゃ…やらない…はず。(汗)
Option Explicit
Const csFile = "./fileStock/dataText.txt"
Dim objFS, objTS, sRead, sXML,objXML
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objTS = objFS.OpenTextFile(csFile,1)
sRead = objTS.ReadAll
objTS.Close
Set objXML = CreateObject("Microsoft.XMLDom")
objXML.async = False
sXML="<root>" & vbCrLf & _
sRead & vbCrLf & _
"</root>"
objXML.loadXML(sXML)
objXML.insertBefore objXML.createProcessingInstruction("xml","version=""1.0"" encoding=""euc-jp"""), objXML.documentElement
objXML.save("./fileStock/dataText.xml")
Set objTS = objFS.OpenTextFile("./fileStock/dataText.xml",1)
objTS.Skip(49)
sRead = objTS.ReadAll
objTS.Close
objFS.DeleteFile("./fileStock/dataText.xml")
sRead = Left(sRead,Len(sRead)-11) 'あれ?EUCって漢字3バイトだっけ?
Set objTS = objFS.CreateTextFile(csFile, True, False) '同じ名前にする事で上書きします
objTS.Write sRead
objTS.Close
Set objXML = Nothing
Set objFS = Nothing
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
- 375 :名無しさん@勉強中 ★:07/12/19 17:49:14 ID:???
- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
つちや さん 2002年 09月 22日 14時 04分 20秒
唐突ですが、
UTF-8のテキストファイルを、Shift-JISに変換するサンプルです。
Microsoft ActiveX Data Object (ver2.5以上)が必要です。
なお、指定可能な文字コードは、ISO-2022-JP、EUC-JP、UNICODE、UTF-7など。
MSXMLのXMLHTTPを使う場合は、Srcストリームの方に修正が必要ですが、
結構手軽で応用範囲が広いかも。
(改行コードの指定が必要な場合はLineSeparatorを使います)
Const adTypeText = 2
Const adSaveCreateOverWrite = 2
Set Src = CreateObject("ADODB.Stream")
Src.Open
Src.Type = adTypeText
Src.Charset = "UTF-8"
Src.LoadFromFile "C:\UTF8.txt"
Set Dst = CreateObject("ADODB.Stream")
Dst.Open
Dst.Type = adTypeText
Dst.Charset = "Shift_JIS"
Src.CopyTo Dst
Src.Close
Dst.SaveToFile "C:\SJIS.txt", adSaveCreateOverWrite
Dst.Close
Set Src = Nothing
Set Dst = Nothing
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
500KB
続きを読む
掲示板に戻る 全部 前100 次100 最新50