亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 解析html [打印本頁]

作者: wanshun1818    時間: 2010-12-29 12:53
標題: 解析html
目前 我獲得一個網(wǎng)頁的html codes
其中 有這么一段

-------
-------
<!-- --><div class="getcodeinstructions">
                                        <ol class="listings">
                                          <li><span class="numberone"></span>
                                                <div>
                                                  <label for="bcode">Click inside the box below and copy all the code.</label><br

-------
-----
  我想從這個html codes中 找到上面我貼出來的代碼中的字符串“getcodeinstruction”“


請問 有那個大蝦能指點下嗎?

(目前我  一次行從這個 里面讀取1024個bytes, 使用 strstr(buffer,"getcodeinstructions")來 定位這個字符串,

但我覺得會出現(xiàn)一中情況 匹配不到, 舉個例子就是前面1024個bytes剛好

包含到getcode 就結束了,然后在一次讀取1024個bytes, 就包含到“instructions”

這樣 我就無法匹配到我我想要的這個字符串了,不知道有沒什么更好的辦法來定位這個字符串)


不知道這次問題說清楚了沒,清各位賜教
作者: scopengl    時間: 2010-12-29 14:52
假設你的字符串長度為Len,
1.讀取0~1023,匹配
2.讀取1023-Len~2047-Len,匹配
3.讀取2047-2*Len~3072-2*Len,匹配。
.....
作者: wanshun1818    時間: 2011-02-28 17:19
回復 2# scopengl


    恩,這個方法 應該可以解決 字符串cut的問題, 我等下在debug一下;

目前我遇到另一個解析的問題,就是比如:

我  一次讀 1024 個bytes;
但是 可能 host 發(fā)送過來的只有500個bytes ,甚至 讀到0個bytes(網(wǎng)速灰常差時),但我確實這個網(wǎng)頁的數(shù)據(jù)還沒發(fā)送完,只是網(wǎng)速不行
我們暫時還讀不到數(shù)據(jù)而已,那這個 時候我的處理是delay一次,然后再去讀取數(shù)據(jù); 可有個問題時, 我如果delay次數(shù)多了,可能解些時間就慢了,不知道各位大蝦有沒什么好的解析html的方法,或有什么參考書,或參考資料推薦下;
作者: shichuan609    時間: 2011-02-28 17:31
回復 3# wanshun1818
跟我之前遇到的問題差不多。我是一邊獲取數(shù)據(jù),一遍解析,后來同事告訴我這樣很危險,就先獲取html文件,再用libxml解析。
作者: wanshun1818    時間: 2011-02-28 17:38
回復 4# shichuan609


    直接獲取html文件? 你的意思是說,等所有bytes 都發(fā)送完了,在開始解析,是這個意思馬?


    但是如果你讀完才開始解析,那不是就很慢嗎?( 尤其在我們所需要定位的字符串在這個html 開頭或者中間的時候)
作者: shichuan609    時間: 2011-02-28 17:45
回復 5# wanshun1818
好像還是不一樣啊,我是知道html文件每個節(jié)點的,只是得到數(shù)據(jù)而已。之前做的時候,好像跟2樓說的差不多,也是用拼接的方法,還算挺復雜的,不過后來也能得到數(shù)據(jù)的。
作者: daniel_kohler    時間: 2011-02-28 18:30
回復 1# wanshun1818


    post給一個CGI,然后解析stdin。
作者: wanshun1818    時間: 2011-02-28 18:32
回復 6# shichuan609


    我弱弱的問一句,“html文件每個節(jié)點” 這個東西是什么意思阿?

你后來問題解決了馬? 是怎么解決的( 解析數(shù)據(jù)的速度快不快)
作者: wanshun1818    時間: 2011-02-28 18:34
回復 7# daniel_kohler


    我弱弱問一句“post給一個CGI,然后解析stdin。 ” 這個能將詳細點嗎?
( 我的數(shù)據(jù)發(fā)收 是通過socket 實現(xiàn)的,)
作者: daniel_kohler    時間: 2011-02-28 18:38
回復 9# wanshun1818


    你的socket是自己寫的嗎?不用了,直接使用boa或者lighthttpd或者httpd就好了,有了它們,會省很多事兒。

   你缺乏基本的web開發(fā)知識,建議你在linux上使用apache先熟悉一下。
作者: wanshun1818    時間: 2011-02-28 18:43
回復 10# daniel_kohler


    我是在開發(fā)板開發(fā)的,socket是用的kernel自帶的;(kernel是mips)
作者: daniel_kohler    時間: 2011-02-28 18:58
回復 11# wanshun1818


    知道你在說什么東西,

   html <--> Web Server <--> CGI

    嵌入式Wbe開發(fā),你先把我上面的流程搞清楚了。




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2