JSON 之 SuperObject(16): 实例 - 解析 Google 关键字搜索排名
同上例类似, 通过 'http://clients1.google.cn/complete/search?&q=' + "关键字" 可以获取 Google 的关键字搜索排名.
我用 Delphi 为关键字得到的结果是:
window.google.ac.h(["Delphi",[["delphi 教程", "375,000 结果", "0"],["delphi盒子", "74,900 结果", "1"],["delphi 下载", "1,580,000 结果", "2"],["delphi7 下载", "1,600,000 结果", "3"],["delphi是什么", "497,000 结果", "4"],["delphi 字符串函数", "352,000 结果", "5"],["delphi7 序列号", "302,000 结果", "6"],["delphi2009下载", "20,600 结果", "7"],["delphi7", "1,330,000 结果","8"],["delphi2009正式版下载", "5,710 结果", "9"]]] )
上面结果以 window.google.ac.h(...) 的形式给出, 下面的操作关键就是给 ISuperObject 一个名为 "window.google.ac.h" 的方法, 并指向自定义的过程, 并在过程中完成解析.
运行效果图:
代码文件:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Memo1: TMemo;Edit1: TEdit;Button1: TButton;procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses MsXML, SuperObject;function ToUTF8Encode(str: string): string; varb: Byte; beginfor b in BytesOf(UTF8Encode(str)) doResult := Format('%s%s%.2x', [Result, '%', b]); end;procedure Proc(const This, Params: ISuperObject; var Result: ISuperObject); varjo: ISuperObject; beginForm1.Memo1.Clear;for jo in Params['1'] do with Form1.Memo1.Lines doForm1.Memo1.Lines.Add(jo.format('%2%: %0% - %1%')); end;procedure TForm1.Button1Click(Sender: TObject); constu = 'http://clients1.google.cn/complete/search?&q='; varjo: ISuperObject;req: IXMLHTTPRequest;url: WideString; beginjo := SO;jo.M['window.google.ac.h'] := @Proc;url := u + ToUTF8Encode(Edit1.Text);req := CoXMLHTTP.Create;req.open('Get', url, False, EmptyParam, EmptyParam);req.send(EmptyParam);jo[req.responseText]; end;end.
JSON 之 SuperObject(16): 实例 - 解析 Google 关键字搜索排名相关推荐
- XE3随笔18:实例 - 解析 Google 关键字搜索排名
同上例类似, 通过 'http://clients1.google.cn/complete/search?&q=' + "关键字" 可以获取 Google 的关键字搜索排名 ...
- JSON 之 SuperObject(17): 实例 - 借用 Google 实现全文翻译
调用 Google 翻译的地址格式: http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + ...
- 亚马逊/关键字搜索排名爬虫
目录 1. 需求 & 背景 & 挑战 2. 抓包分析 2.1 从首页获取session等信息 2.2 获取ubid_acbde信息 2.3 获取session-token信息 2.4 ...
- Qt文档阅读笔记-对JSON Save Game官方实例解析
程序运行截图如下: JSON Save Game例子展示了如何使用QJsonDocument,QJsonObject,QJsonArray保存和加载存档. 许多游戏有存储的功能,允许玩家存储保存游戏进 ...
- mysql 关键字搜索 排名_mysql 的 查找 与 排序
mysql 的 查找 : SELECT name,age FROM mytable; # 在mytable 中所有的name,age 数据 SELECT name,age FROM mytable W ...
- 上传应用程序到谷歌商店_将Google图书搜索集成到PHP应用程序中
上传应用程序到谷歌商店 常用缩略语 API:应用程序编程接口 DOM:文档对象模型 HTTP:超文本传输协议 HTML:超文本标记语言 ISBN:国际标准书号 REST:代表性状态转移 URL:统 ...
- 这是 Google 工程师 Amit Singhal 发表在 Google 官方博客的一篇文章,讲述了 Google 搜索排名背后的一些技术,涉及到 Google 对网页,对语义,对用户意图的理解。
XEIM这是 Google 工程师 Amit Singhal 发表在 Google 官方博客的一篇文章,讲述了 Google 搜索排名背后的一些技术,涉及到 Google 对网页,对语义,对用户意图的 ...
- python json转换字典_Python json转字典字符方法实例解析
josn基本操作 1.导入import json 2.字典转json:json.dumps(dict,ensure_ascii=False),加,ensure_ascii=False转换之后无中文乱码 ...
- 实例解析网络钓鱼攻击的幕后
实例解析网络钓鱼攻击的幕后 网络钓鱼是通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出敏感信息(如用户名.口令.帐号ID.ATM PIN码或信用卡详细信息)的一种攻击方式. ...
最新文章
- HEAD元素使用集锦
- 如何防止我的模型过拟合?这篇文章给出了6大必备方法
- Python中的字符串驻留
- 计算机电缆的屏蔽,DJYVP计算机电缆(总屏蔽)和DJYPVP计算机电缆(分屏蔽加总屏蔽)区别...
- ThinkPHP5 清除runtime缓存文件
- MySQL中varchar所占字节大小是多少
- ps法线贴图插件_法线与置换贴图原理讲解以及烘焙制作!
- java 不编译咋办_java – 为什么JVM不编译整个程序,而不是逐个编译?
- 设备上专用计算机管理办法,计算机设备管理办法
- 微软推出新编程语言 Bosque,超越结构化程序设计
- 击鼓传花:对比 muduo 与 libevent2 的事件处理效率
- luogu P1069 细胞分裂
- 360全景图PS更换天空背景
- 现代制造业信息化建设的主要内容
- 西门子主程序调用子程序_子程序编程举例说明-广数m98调用子程序实例-西门子子程序调用实例...
- css超出显示...(单行、多行)
- java猜拳程序_Java基础之:猜拳小程序
- xilinx 权威设计指南_设计产品指标的权威指南
- Spacy分词php,Spacy简单入门
- 多相位图像插值算法(Lanczos、sinc)
热门文章
- javascript权威指南学习笔记
- android 键盘搜索按钮不收起键盘,android EditText 实现搜索框点击搜索隐藏键盘
- java哪个软件编程好学吗_java好学吗?java是不是最难学的语言?
- Struts2中 Result类型配置详解
- 【Hibernate步步为营】--关联映射之多对一
- asp.net(c#) linkbutton CommandArgument
- Python函数式编程——map()、reduce()
- 重构-改善既有代码的设计:简化函数调用 (八)
- 不写技术文档是个什么梗
- 脚本重启nginx进程