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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2893 | 回復(fù): 3
打印 上一主題 下一主題

獲取dict.cn時網(wǎng)頁得到的結(jié)果有些問題(已解決) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-05-24 20:47 |只看該作者 |倒序瀏覽
本帖最后由 heixia108 于 2010-05-25 00:07 編輯

想寫個程序獲取dict.cn上對單詞的解釋
  1. #!/usr/bin/perl
  2. use strict;
  3. use LWP::UserAgent;
  4. use HTML::TreeBuilder;

  5. my $url = "http://dict.cn/mini.php?q=hello";
  6. my $ua = LWP::UserAgent->new;
  7. my $response = $ua->get($url);

  8. if ($response->is_success) {
  9.     print $response->decoded_content;  # or whatever
  10. }
  11. else {
  12.     die $response->status_line;
  13. }
復(fù)制代碼
結(jié)果打印的是  “正在加載<hello>的翻譯解釋”

我用httpwath看了下,原因是向 $url發(fā)送請求后 到 得到查詢結(jié)果(即"你好")之間會有一段延時,這期間它訪問了 http://dict.cn/ajax/dictcontent.php 等地址,所以得到的結(jié)果出錯了,有什么方法可以得到正確的結(jié)果嗎?

論壇徽章:
0
2 [報告]
發(fā)表于 2010-05-24 23:36 |只看該作者
dict.cn
是用javascript 來獲得數(shù)據(jù)的

通過

  1. POST http://dict.cn/ajax/dictcontent.php HTTP/1.1
  2. Cookie: h=%2Fhello%2F; dictsid=13.138669254.2784563.152565

  3. q=hello&s=2&t=1e92155c77e89768fd5b35d3e43691fb
復(fù)制代碼
通過 q  s t 三個字段 post 到 http://dict.cn/ajax/dictcontent.php
返回的內(nèi)容就好像是一個 json格式的數(shù)據(jù)吧
然后用javascript把這個json替換到 "正在加載.."

所以辦法有這么幾個

分析s t 字段 是什么...   (t應(yīng)該要根據(jù) 最開始 獲得的cookies的dictsid 字段算出來吧.... )

然后獲得json的數(shù)據(jù)格式(解釋內(nèi)容都在里面了 不過還有一些html javascript代碼... 他把代碼當(dāng)作數(shù)據(jù)返回的) 解析 json(這個比較容易了) 得到單詞的解釋....

-------------------------------------------------------
去google下 看有人分析了 dict.cn的格式?jīng)]...


-------------------------------------------------------
換個網(wǎng)站搞吧.... 比如google翻譯 也不錯的..




由于lwp不支持javascript   應(yīng)該不可能直接通過lwp簡單的給地址就獲得結(jié)果滴....

論壇徽章:
0
3 [報告]
發(fā)表于 2010-05-24 23:37 |只看該作者
http://dict.cn/mini.php?q=XXOO

這個地址是個 幌子.....
  最終是http://dict.cn/ajax/dictcontent.php  獲得地址
然后操作DOM 替換掉 http://dict.cn/mini.php?q=XXOO 里面"正在加載"的內(nèi)容

論壇徽章:
0
4 [報告]
發(fā)表于 2010-05-25 00:06 |只看該作者
謝謝,講得很詳細(xì)   ~
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP