中文偽春菜後援會論壇  

打印

[閒聊] 偽春菜的問題與解答

引用:
原帖由 時原砂 於 2009-7-26 10:39 發表
第一次上傳所以還在摸索
結果傳上去後才發現log沒有貼上去
也不知道該怎麼補...(囧)

chttpc的話有點無從下手...
短時間內應該還是會把重心放在Sqlori ...
chttpc Thread.h/Thread.cpp應該可以拿來用…same license嘛 (^^;)
反而translate我在考慮其他的solution…


正在聽着:
水人的格言:
有仇不報非君子!
有水不灌非魔人!

萬事皆可萌,唯有情無價

TOP

rev 100 up.
應該把所有該有的function都實裝了,但還沒測試。
需要人測試…


正在聽着:
水人的格言:
有仇不報非君子!
有水不灌非魔人!

萬事皆可萌,唯有情無價

TOP

(正式版已出,beta版撤下。)

用法:

  • - 無引數: 檢查能否上網,回傳: 1 - OK, 0 - NG
  • - 一個引數(網址): 下載並直接回傳
  • - 多過一個引數:

    • 第一個必須為網址
    • 之後的選項:

      • translate - 嘗試轉換html為sakura script
      • strip - 去除html tag
      • codepage=<編碼名稱> - 指定來源編碼 (如: big5、x-sjis。預設chttpc會偵測HTML編碼。指定50001會自動偵測。)
      • save=<檔名> - 把剛下載的檔案存為「檔名」(與chttpc.dll同位置)
      • saveUtf8=<檔名> - 把剛下載的檔案以UTF-8編碼存為「檔名」(與chttpc.dll同位置,b1新增)
      • saveParsed=<檔名> - 把處理好的數據存為「檔名」(與chttpc.dll同位置)
      • start=<字串> 及 end=<字串> - 回傳在 start 和 end 之間字串
      • hwnd=<hwnd> 及 id=<字串> - 背景執行。會經 DirectSSTP 向 hwnd 回傳 OnchttpcNotify (ref0: id, ref1: 回傳值, ref2: 網址)
      • noOutput - 不回傳 (a2新增)




已知bug:

  • translate 未能正確處理巢狀標籤 (如 <li><a>) (相信在beta 1中已修正)


由最初版之更新(svn log原文):
複製內容到剪貼板
代碼:
r120 | roytam | 2009-08-04 21:53:03 +0800 (Tue, 04 Aug 2009) | 1 line
update README.txt for Release 2
------------------------------------------------------------------------
r119 | roytam | 2009-08-04 21:43:51 +0800 (Tue, 04 Aug 2009) | 5 lines
chttpc Release 2.

striphtml: add back old replaceAll as overReplaceAll
chttpc_runner::run: overReplaceAll cr and lf to \n, overReplaceAll all spaces to single space
CHTML2SS: some of replaceAll was replaced to overReplaceAll, make strip and translate work with start= and end= too.
------------------------------------------------------------------------
r117 | roytam | 2009-08-02 22:02:14 +0800 (Sun, 02 Aug 2009) | 4 lines
chttpc release 1.
add Lite-Release configuration for chttpc without translate function.
debug source cleanup.
remove commented CHTML2SS::translate.
r116 | roytam | 2009-08-02 09:52:15 +0800 (Sun, 02 Aug 2009) | 1 line
CHTML2SS: correct "a" tag statements.
------------------------------------------------------------------------
r115 | roytam | 2009-08-02 09:39:53 +0800 (Sun, 02 Aug 2009) | 2 lines
CHTML2SS: escape "\".
striphtml:replaceAll: don't overreplace.
r114 | roytam | 2009-08-01 19:01:38 +0800 (Sat, 01 Aug 2009) | 3 lines
chttpc beta 2.
add more information to README.txt
single_blank: adding missed another part of fix.
------------------------------------------------------------------------
r113 | roytam | 2009-08-01 18:47:58 +0800 (Sat, 01 Aug 2009) | 1 line
htmlcxx: better(slower) single_blank fix
------------------------------------------------------------------------
r112 | roytam | 2009-08-01 17:58:15 +0800 (Sat, 01 Aug 2009) | 3 lines
htmlcxx: fix single_blank for single space, still need more fixing
onchttpcNotify: add url as ref2
CHTML2SS: add more formating
------------------------------------------------------------------------
r111 | roytam | 2009-07-30 19:30:40 +0800 (Thu, 30 Jul 2009) | 5 lines
! change save= to saveUtf8=
+ add "real" save= option
! clean  up CSAORI::exec
! update README.txt for such changes.
: still leaving old CHTML2SS::translate in comment form as reference.
------------------------------------------------------------------------
r110 | roytam | 2009-07-29 21:22:15 +0800 (Wed, 29 Jul 2009) | 1 line
fix input textbox translation
------------------------------------------------------------------------
r109 | roytam | 2009-07-29 20:58:25 +0800 (Wed, 29 Jul 2009) | 1 line
update README.txt
------------------------------------------------------------------------
r108 | roytam | 2009-07-29 20:54:48 +0800 (Wed, 29 Jul 2009) | 6 lines
CHTML2SS:
- rewrite translate with sibling recursion(based on tree_utils.hh).
- better handling with Quirk HTML files.
- add support for div tag
htmlcxx: update to 0.83.
chttpc beta 1
------------------------------------------------------------------------
r107 | roytam | 2009-07-28 21:40:13 +0800 (Tue, 28 Jul 2009) | 2 lines
+ add README.txt
* chttpc alpha 2
------------------------------------------------------------------------
r106 | roytam | 2009-07-28 20:12:24 +0800 (Tue, 28 Jul 2009) | 1 line
CHTML2SS::translate : fix missing cu->path when processing a tag, add base tag support
------------------------------------------------------------------------
r105 | roytam | 2009-07-28 19:35:41 +0800 (Tue, 28 Jul 2009) | 2 lines
CHTML2SS: fix invalid previous sbling, deal with ol, better support of a tagName
chttpc: add noOutput
讓balloon變成瀏覽器!  (讓balloon中的連結有效)
複製內容到剪貼板
代碼:
OnAnchorSelect
{
        _res = FUNCTIONEX("chttpc.dll",reference0,'translate')
        _res;
}
效果:


正在聽着:
水人的格言:
有仇不報非君子!
有水不灌非魔人!

萬事皆可萌,唯有情無價

TOP



正在聽着:
水人的格言:
有仇不報非君子!
有水不灌非魔人!

萬事皆可萌,唯有情無價

TOP

正式版試用回報:

真好用!嘿 終于可以和奇怪的坐標判斷方式告別了。
不過在用的途中突然人格當機了,檢查之后“TAMA”告訴我這行有問題:
複製內容到剪貼板
代碼:
_from = FUNCTIONEX("saori\chttpc.dll","http://www.google.cn/search?hl=zh-CN&client=ig&q=tq+北京",'start=<div style="float:left;font-size:86%;color:#6f6f6f">','end=</div>');
錯誤信息是:error E0092 : ()、もしくは[]に続く演算子が見つかりません.
這一段的里面只是很簡單的“北京市专业气象台 8月4日17:00发布”而已。
同樣格式的
複製內容到剪貼板
代碼:
_wendu = FUNCTIONEX("saori\chttpc.dll","http://www.google.cn/search?hl=zh-CN&client=ig&q=tq+%(locale)",'start=<div style="font-size:140%">','end=</div>');
就沒有出錯。

PS:
追加,這行也被報錯:
複製內容到剪貼板
代碼:
_comment = FUNCTIONEX("saori\chttpc.dll","http://dict.hjenglish.com/jp/w/%(HJDicword)&type=cj",'start=<div id="com_panel_0" style="display:block;" class="jp_explain">','end=</div>');
錯誤信息同上。

再PS:
不知是否我寫法的問題,運行速度多少有點緩慢,會卡一下……@@

[ 本帖最後由 貓魚 於 2009-8-4 20:24 編輯 ]
主頁更新啦:cat-fish.net

TOP

引用:
原帖由 貓魚 於 2009-8-4 19:42 發表
正式版試用回報:

真好用!嘿 終于可以和奇怪的坐標判斷方式告別了。
不過在用的途中突然人格當機了,檢查之后“TAMA”告訴我這行有問題:
_from = FUNCTIONEX("saori\chttpc.dll","http://www.google.cn/search?hl=zh-CN&c ...
start 和 end 建議獨立寫出來。
yaya 也要更新至 Tc535-2。
GETSTRURLENCODE 改成 STRENCODE。
複製內容到剪貼板
代碼:
                        _place = STRENCODE('北京',1,'url')
                        _start = 'start=<div style="float:left;font-size:86%;color:#6f6f6f">'
                        _end = 'end=</div>'
                        _from = FUNCTIONEX('chttpc.dll',"http://www.google.cn/search?hl=zh-CN&client=ig&q=tq+%(_place)",_start,_end);
                        _from;


正在聽着:
水人的格言:
有仇不報非君子!
有水不灌非魔人!

萬事皆可萌,唯有情無價

TOP



正在聽着:
水人的格言:
有仇不報非君子!
有水不灌非魔人!

萬事皆可萌,唯有情無價

TOP

更新了r2,也將YAYA更新至535-2,
不過依然是有出錯:
複製內容到剪貼板
代碼:
                _start3 = 'start=<div style="float:left;font-size:86%;color:#6f6f6f">';
                _end3 = 'end=</div>';
                _from = FUNCTIONEX("saori\chttpc.dll","http://www.google.cn/search?hl=zh-CN&client=ig&q=tq+%(_place)",_start3,_end3);
引用:
出錯信息:

E:\tssp\ghost\cyaucyaka\ghost\master\dic/cya_traslate.dic(236) : error E0011 : 変数名(?)に使用できない文字が含まれています. : 'start=<div style="float:left;font-size:86%;color:#6f6f6f">';
主頁更新啦:cat-fish.net

TOP

引用:
原帖由 貓魚 於 2009-8-6 17:37 發表
更新了r2,也將YAYA更新至535-2,
不過依然是有出錯:
                _start3 = 'start=';
                _end3 = 'end=';
                _from = FUNCTIONEX("saori\chttpc.dll","http://www.google.cn/search?hl=zh-CN&client=ig&q=tq+%(_place)",_start3,_en ...
碰到bug了。_start3 和 _end3 後不加分號就過了。

已file bug:
http://ssp.shillest.net/bts/gues ... d=57&project=ms


正在聽着:
水人的格言:
有仇不報非君子!
有水不灌非魔人!

萬事皆可萌,唯有情無價

TOP

………………真的是…………
太神奇了這個!
另外這個會引起同樣的錯誤:
複製內容到剪貼板
代碼:
_start2 = 'start=<div id="com_panel_0" style="display:block;" class="jp_explain">';
同樣不加分號就過了。@@

上一個(start3)去掉分號之後可以正常抽取內容出來,
下一個(start2)就不行了。
會將整個網頁都返回過來,包括html tag XDD
果然不該偷偷無視bug……還是乖乖等修正吧·w·;;;

[ 本帖最後由 貓魚 於 2009-8-6 19:00 編輯 ]
主頁更新啦:cat-fish.net

TOP

引用:
原帖由 貓魚 於 2009-8-6 18:48 發表
………………真的是…………
太神奇了這個!
另外這個會引起同樣的錯誤:_start2 = 'start=';同樣不加分號就過了。@@

上一個(start3)去掉分號之後可以正常抽取內容出來,
下一個(start2)就不行了。
會將整個網頁都返回過來,包 ...
複製內容到剪貼板
代碼:
                        HJDicword = STRENCODE('日食',1,'url')
                        _start = 'start=<div id="com_panel_0" style="display:block;" class="jp_explain">'
                        _end = 'end=</div>'
                        _from = FUNCTIONEX('chttpc.dll',"http://dict.hjenglish.com/jp/w/%(HJDicword)&type=cj",_start,_end,'strip');
試試這個?


正在聽着:
水人的格言:
有仇不報非君子!
有水不灌非魔人!

萬事皆可萌,唯有情無價

TOP

Release 3:
http://code.google.com/p/csaori/ ... ?name=chttpc.r3.zip

新增 removeTags= 選項﹐可以讓 a, img 等標籤脫光光 XD


正在聽着:
水人的格言:
有仇不報非君子!
有水不灌非魔人!

萬事皆可萌,唯有情無價

TOP

裝了r3,問題依舊。

_start = 'start=<div id="com_panel_0" style="display:block;" class="jp_explain">'

這行不能帶有分號,帶了TAMA就報錯,
不帶則無法起到start的作用,返回的是整個網頁的內容 @@
主頁更新啦:cat-fish.net

TOP

用跳脫字元試試看?

_start = "start=<div id=\"com_panel_0\" style=\"display:block;\" class=\"jp_explain\">"
末月返想 - 創意的存放處
二次元斷層 - 成果展現之所在

惰性是大敵。

TOP

引用:
原帖由 貓魚 於 2009-8-10 15:09 發表
裝了r3,問題依舊。

_start = 'start='

這行不能帶有分號,帶了TAMA就報錯,
不帶則無法起到start的作用,返回的是整個網頁的內容 @@
http://cuc2.dyndns.org/redirect. ... =14696&ptid=442
這個試了沒?


正在聽着:
水人的格言:
有仇不報非君子!
有水不灌非魔人!

萬事皆可萌,唯有情無價

TOP

引用:
原帖由 Roy 於 2009-8-12 20:30 發表

http://cuc2.dyndns.org/redirect. ... =14696&ptid=442
這個試了沒?
抱歉這么晚才回,公司搬家沒辦法測試茶兔囧||

正確了!!!
感謝感謝!
不能有 ; 號,不能用跳脫符@@  這樣就會正確讀到~

translate + removetags 真好用XD

[ 本帖最後由 貓魚 於 2009-8-21 16:22 編輯 ]
主頁更新啦:cat-fish.net

TOP

引用:
原帖由 貓魚 於 2009-8-21 16:06 發表

抱歉這么晚才回,公司搬家沒辦法測試茶兔囧||

試過了,但沒有讀取到正確的範圍。
正確範圍應該是:                     
                        〈植〉リンゴ(の木).『量』个;[塊状のもの]块;[薄片状のもの]片.  苹果酱/リ ...
Tc536-1已經修正了分號的bug。
我這邊放在yayame試是正常的。
複製內容到剪貼板
代碼:
                when "chttpctest"
                {
                        HJDicword = STRENCODE('苹果',1,'url');
                        _from = FUNCTIONEX('chttpc.dll',"http://dict.hjenglish.com/jp/w/%(HJDicword)&type=cj",'start=<div id="com_panel_0" style="display:block;" class="jp_explain">','end=</div>','translate','removeTags=img');
                        _from;

                }


正在聽着:
水人的格言:
有仇不報非君子!
有水不灌非魔人!

萬事皆可萌,唯有情無價

TOP

囧 發的稍微早了一點,
回帖之後立刻就解決了……囧TZ|||
主頁更新啦:cat-fish.net

TOP

最近一直在使用這個,漸漸的有了幾個功能需求……

1,
我在抽取部分代碼的時候,如果我需要抽取的部分是處於第二個代碼範圍內、而這個範圍又沒有特別的特色的話,我就沒法抽取……
例如:這個頁面上有好幾段“<dl class="dl">”的話,我需要的start是第2或者第3次出現的“<dl class="dl">”,不知該如何抽取?

2,
目前試用下來有兩個問題,
第一個是在下載網頁時,整個人格都會卡住。如果網速有點慢,會卡挺久的……這部分能不能做一個“正在下載中”的提示?

第二個是如果頻繁進行下載抽取的話,會有一定幾率讀不出任何東西,返回一段空白的@@
主頁更新啦:cat-fish.net

TOP

引用:
原帖由 貓魚 於 2009-8-29 02:50 發表
最近一直在使用這個,漸漸的有了幾個功能需求……

1,
我在抽取部分代碼的時候,如果我需要抽取的部分是處於第二個代碼範圍內、而這個範圍又沒有特別的特色的話,我就沒法抽取……
例如:這個頁面上有好幾段“”的話,我需要的s ...
1. 請用 r4 的 multiSearch 選項。然後 SPLIT(_result,CHR(2)) 切開取用。
2. 請愛用 background function XD
複製內容到剪貼板
代碼:
SAORI('chttpc.dll',_url,"id=隨便取一個名字XD","hwnd=%(sakurahwnd)")
...
OnchttpcNotify
{
        case reference0
        {
                when "隨便取一個名字XD"
                {
                        "%(reference1)"
                }
        }
}


正在聽着:
水人的格言:
有仇不報非君子!
有水不灌非魔人!

萬事皆可萌,唯有情無價

TOP



當前時區 GMT+8, 現在時間是 2023-6-9 03:36

Processed in 0.030990 second(s), 9 queries, Gzip enabled.

清除 Cookies - 聯繫我們 - 中文偽春菜後援會 - Archiver - WAP - TOP - 界面風格