XE3随笔18:实例 - 解析 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;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses MsXML, SuperObject;

function ToUTF8Encode(str: string): string;
var
  b: Byte;
begin
  for b in BytesOf(UTF8Encode(str)) do
    Result := Format(‘%s%s%.2x‘, [Result, ‘%‘, b]);
end;

procedure Proc(const This, Params: ISuperObject; var Result: ISuperObject);
var
  jo: ISuperObject;
begin
  Form1.Memo1.Clear;
  for jo in Params[‘1‘] do with Form1.Memo1.Lines do
    Form1.Memo1.Lines.Add(jo.format(‘%2%: %0% - %1%‘));
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  u = ‘http://clients1.google.cn/complete/search?&q=‘;
var
  jo: ISuperObject;
  req: IXMLHTTPRequest;
  url: WideString;
begin
  jo := 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.
时间: 2024-11-05 16:37:31

XE3随笔18:实例 - 解析 Google 关键字搜索排名的相关文章

JSON 之 SuperObject(16): 实例 - 解析 Google 关键字搜索排名

同上例类似, 通过 'http://clients1.google.cn/complete/search?&q=' + "关键字" 可以获取 Google 的关键字搜索排名. 我用 Delphi 为关键字得到的结果是: window.google.ac.h( ["Delphi",[ ["delphi 教程", "375,000 结果", "0"], ["delphi盒子", &q

XE3随笔17:实例 - 模拟 Google 搜索

本例测试效果图: 代码文件: unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     Memo1: TMemo;     Edit1: TEdit;     Button1: TButton;     procedure Button1Cl

JSON 之 SuperObject(15): 实例 - 模拟 Google 搜索

本例测试效果图: 代码文件: unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     Memo1: TMemo;     Edit1: TEdit;     Button1: TButton;     procedure Button1Cl

《新浪微博自动评论软件·设计与实现之关键字搜索篇》

任务:进行关键字搜索,对结果批量评论 通过GET请求来获取搜索页面,其url:http://s.weibo.com/weibo/keyword&Refer=STopic_box.其中keyword为搜索关键字. 利用Python的RegEx解析网页,获取每条微博的mid. 手动对一条微博发送评论,抓取其数据包,分析其中各个参数及其作用以便在程序中对其进行更改模拟,其中包括但不限于Cookie字段以及POST参数mid.content. 利用Python编写程序模拟3中的情况重新提交POST请求,

解析爱博Email搜索圣手的使用说明

爱博Email搜索圣手是一款功能强大.简单易用.界面友好的高速定向的邮件地址采集搜索工具软件,支持百度.Google邮件搜索,本地Email搜索和论坛的邮箱搜索.爱博Email搜索圣手集成了按网址搜索.按关键字采集邮件地址,支持对互联网.本地目录和本地具体文件的搜索和提前邮件地址.您可以选择搜索某一网址下所有网页中出现的邮件地址,也可以通过关键字,借助百度.Google等流行的搜索圣手采集相关的邮件地址.无论您选择哪一种邮件地址采集方式,搜索出来的Email都是具有极高的网址和关键字定向性,最大

如何使用GOOGLE高级搜索技巧

原文出处: 新浪博客(未找到原始出处) 一,GOOGLE简介 Google(www.google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明,Google Inc. 于1999年创立.2000年7月份,Google替代Inktomi成为Yahoo公司的搜索引擎,同年9月份,Google成为中国网易公司的搜索引擎.98年至今,GOOGLE已经获得30多项业界大奖. 二,GOOGLE特色 GOOGLE支持多达132种语言,包括简体中

搭建NFS文件共享--实例解析

1 NFS简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公 司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统能够彼此分享个别的数据, 让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是实现磁盘文件共享的一种方法. NFS 的基本原则是"容许不同的客户端及服务端通过一组RPC分享相同的文件系统",它是独立于操作 系统,容许不同硬件及操作系统的系统共同进行文件的分享. 2 NFS服务器的配

基于Android2.3.5系统:JNI与HAL实例解析[一]

*************************************************************************************************************************** 作者:EasyWave                                                                                                           时间:2015.

百度和 Google 的搜索技术是一个量级吗?

著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:Kenny Chao 链接:http://www.zhihu.com/question/22447908/answer/21435705 来源:知乎 很多答案是从使用上讲的,我加两个技术方面的. 搜索引擎需要对抓取到的结果进行管理.当索引结果越来越多时,保证存储和查询速度,保证数万台服务器内容一致的难度越来越高.Google于03至06年左右公布了三篇论文,描述了GFS.BigTable.MapReduce三种技术以解