Ruby 如何解析 jsonCallBack 的页面

hlcfan · 2012年05月22日 · 最后由 hlcfan 回复于 2012年05月22日 · 3885 次阅读

页面: http://dict.hjenglish.com/services/jp_web_ajax.ashx?type=cj&w=%E6%A0%B7%E5%AD%90&0.1806292466353625

  • 页面内容不是 json,我不知怎么做?
  • 内容经过 %u 处理的,不知怎么还原。

请指教。谢谢!

部分内容:

HJ.fun.jsonCallBack({content:"<div>\t<span class=\"hjd_jp_ico\">\u4E2D</span> \t<span class=\"hjd_jp_resultcount\">\t2 \u4E2A\u7ED3\u679C<a href=\"###\" id=\"A2\" onclick=\"return HJ.fun.ShiftExplanPanels(2, this );\" class=\"hjd_expen1\"><b>[-]</b></a>  \t</span></div><div style=\"clear:both\">\t\t<span class=\"hjd_jp_title2 hjd_fl\" title=\"\u4E2D\u6587\u5355\u8BCD\"><span class=\"hjd_Green\">[<font color=red>\u6837\u5B50</font>]</span><span style='color:#009900;font-family:Courier New' title=\"\u62FC\u97F3\">[y\u00E0ng]</span><span title=\"\u7247\u5047\u540D\"> [\u3088\u3046\u3059;\u3082\u3088\u3046]</span></span>\t\t<span id='hjd_amw_panel_0' class=\"hjd_fl\" style=\"margin-top:3px\"><a href='###' onclick='HJ.fun.AddJpWord(0);return false;'><img align='absmiddle' src='http://dict.yeshj.com/images/btn_myword_add.gif' alt='\u5C06\u8FD9\u4E2A\u5355\u8BCD\u6DFB\u52A0\u5230\u6211\u7684\u751F\u8BCD\u672C' border='0'/></a></span>\t\t<input type=\"hidden\" value=\"\u6837\u5B50\" id=\"hjd_amw_word_0\"/>\t\t<input type=\"hidden\" value=\"\u3010\u3088\u3046\u3059;\u3082\u3088\u3046\u3011\u69D8\u5B50;\u6A21\u69D8\" id=\"hjd_amw_comment_0\"/>\t<span class=\"hjd_fr\">\t\t<a href=\"###\" id=\"click2expend_0\" onclick=\"return HJ.fun.ShiftVisible_jpcom('com_panel_0',this);\" class=\"expen\"><b>[-]</b></a>\t</span></div> <div id=\"com_panel_0\" style=\"display:block;\" class=\"hjd_jp_explain\">\t\u69D8\u5B50;\u6A21\u69D8</div><div style=\"clear:both\">\t\t<span class=\"hjd_jp_title hjd_fl\" title=\"\u4E2D\u6587\u5355\u8BCD\"><span class=\"hjd_Green\">[<font color=red>\u6837\u5B50</font>]</span><span style='color:#009900;font-family:Courier New' title=\"\u62FC\u97F3\">[y\u00E0ngzi]</span><span title=\"\u7247\u5047\u540D\"> [--]</span></span>\t\t<span id='hjd_amw_panel_1' class=\"hjd_fl\" style=\"margin-top:3px\"><a href='###' onclick='HJ.fun.AddJpWord(1);return false;'><img align='absmiddle' src='http://dict.yeshj.com/images/btn_myword_add.gif' alt='\u5C06\u8FD9\u4E2A\u5355\u8BCD\u6DFB\u52A0\u5230\u6211\u7684\u751F\u8BCD\u672C' border='0'/></a></span>\t\t<input type=\"hidden\" value=\"\u6837\u5B50\" id=\"hjd_amw_word_1\"/>\t\t<input type=\"hidden\" value=\"\uFF081\uFF09\u5F62.\u683C\u597D.<br/>\u3000 <img src='http://dict.hjenglish.com/images/icon_star.gif' align='absmiddle' />\u4E70\u4E86\u4E00\u4EF6\u6837\u5B50\u6F02\u4EAE\u7684\u886C\u886B\uFF0F\u683C\u597D\u306E\u3044\u3044\u30EF\u30A4\u30B7\u30E3\u30C4\u3092\u8CB7\u3063\u305F.<br/>\u3000 <img src='http://dict.hjenglish.com/images/icon_star.gif' align='absmiddle' />\u4E0D\u50CF\u6837\u5B50\uFF0F\u3055\u307E\u306B\u306A\u3089\u306A\u3044.<br/>\uFF082\uFF09\u8868\u60C5.\u9854\u8272.<br/>\u3000 <img src='http://dict.hjenglish.com/images/icon_star.gif' align='absmiddle' 

need asistance

这是 JSONP 的形式,你的页面上需要定义

HP.fun.jsonCallback = function(data) { /* 处理 data.content */ };

然后

$.getScript('http://dict.hjenglish.com/services/jp_web_ajax.ashx?type=cj&w=%E6%A0%B7%E5%AD%90&0.1806292466353625');

http://api.jquery.com/jQuery.getScript/

#2 楼 @dotnil 你好,你的意思是用 js 进行处理?我现在想处理完导入到数据库里。 可以用脚本处理么?

#3 楼 @hlcfan 讲清楚你具体要干嘛,不然我帮不到你

#4 楼 @dotnil 我想对这些内容处理,存到数据库中。我说的清楚吗?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号