`

关于如何把baidu/google嵌入到自己的系统当中去做法

阅读更多

项目当中需要进行元搜索。选择了百度。也可以选择谷歌。两者的处理方式是一样的。

(1):页面输入:日全食。请求到struts2中的action中。

 public String findSearchKeyWordByBaidu() {
       List<WebScout> webScouts = Utilities.getWebScouts(keyWord, webpage);//分析百度页面处理。
      Collections.sort(webScouts);//排序
      this.getRequest().setAttribute("webScouts", webScouts);
      this.getRequest().setAttribute("keywordName", this.keyWord);
      this.getRequest().setAttribute("webpage", this.webpage);
      return "webScouts";//所返回struts.xml中的name值。
 }

(2):getWebScouts这个方法中是通过java正则表达式处理了百度页面。大家可以在百度中随便搜索一个关键字,然后查看下源文件。分析下源文件中每一条记录的特点。

 public static List<WebScout> getWebScouts(String keyword, int key) {
  List<WebScout> webs = new ArrayList<WebScout>();
  keyword = keyword.replaceAll("\\s|\\,|\\-", "+");
//  keyword = "北京+日全食+上海";
  String regx = "<table\\sborder=\"0\".*?><tr><td.*?><a\\sonmousedown=.*?><font.*?>(.*?)</a><br><font.*?>(.*?)<br><font.*?>(.*?)\\s\\d{1,4}K\\s(\\d{4}-\\d{1,2}-\\d{1,2}).*?</font>\\s-\\s<a\\shref=\"(.*?)\"\\starget=\"_blank\"\\sclass=m>百度快照</a>\\s<br>(<a.*?</a>)?</font></td></tr></table>";   //处理源文件
//  String urlSource = "http://www.baidu.com/s?wd=" + keyword;
  //String pageUrlSource = "http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd="+keyword+"&pn="+key;
  String urlSource = "http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd="+keyword+"&pn="+key;
  //String urlSource = "http://www.baidu.com/s?ie=gb2312&bs=%B1%B1%BE%A9+%C8%CB%C3%F1&sr=&z=&cl=3&f=8&wd=%B1%B1%BE%A9+%C8%CB%C3%F1&ct=0";
  //将用户输入的url字符串传入URL类对象中
  try {
   URL url = new URL(urlSource);
   //创建URLConnection对象,用URL的openConnection方法将连接通过返回给URLConnection对象
   HttpURLConnection c = (HttpURLConnection) url.openConnection();
   //用URLConnection的connect()方法建立连接
   c.connect();
   
   InputStream is = c.getInputStream();
   BufferedReader br = new BufferedReader(new InputStreamReader(is));

   StringBuffer sb = new StringBuffer();
   String line = br.readLine();
   while (line != null) {
    sb.append(line);
    line = br.readLine();
   }
   is.close();
   br.close();
   Pattern pattern = Pattern.compile(regx);
   Matcher matcher = pattern.matcher(sb);
   WebScout webScout = null;

   /**封装到一个bean中**/
   while(matcher.find()) {
    webScout = new WebScout();
    webScout.setTitle(matcher.group(1));
    webScout.setContent(matcher.group(2));
    webScout.setWebUrl(matcher.group(3));
    webScout.setTime(matcher.group(4));
    webScout.setKuaizhao(matcher.group(5));
    webs.add(webScout);
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  return webs;
 }

 

上面这个方法可以直接那过来测试的。

(3):struts.xml中返回到一个.jsp。然后把webScouts进行循环处理就ok了。

分享到:
评论
5 楼 Hooopo 2009-07-24  
有现成的google api不用用正则........
4 楼 p_x1984 2009-07-24  
能否把你的代码共享下么?可以加我QQ:282215036
3 楼 aaron7524 2009-07-24  
我们在项目中获取别人的天气预报也用到了这种方式
2 楼 p_x1984 2009-07-24  
有很多种方式。有时间研究下google的API吧!
1 楼 zhuyx808 2009-07-24  
google不是提供的有搜索API吗?

相关推荐

    MFC 嵌入百度谷歌搜索源码

    这个“MFC 嵌入百度谷歌搜索源码”项目涉及了如何在MFC对话框中集成网络搜索功能,让用户可以直接在应用内部进行搜索,无需离开程序。下面将详细介绍这一知识点,以及相关的编程技术和实现步骤。 首先,我们要理解...

    Qt加载百度地图和谷歌地图

    这对于在Qt应用中嵌入地图服务非常有用,因为大多数在线地图服务(如百度地图和谷歌地图)都是基于Web技术构建的。 加载百度地图和谷歌地图的步骤大致相同: 1. **创建QWebView对象**:首先,我们需要在Qt应用中...

    谷歌百度地图调用

    本主题聚焦于如何使用JavaScript脚本调用谷歌和百度两大主流地图API,实现地图功能集成到你的Web应用中。 首先,我们来看谷歌地图API的调用。谷歌地图API是一个强大的工具,允许开发者在网页上嵌入交互式地图,进行...

    搜索引擎广告嵌入赚钱

    - 功能介绍:关于如何使网站内容符合Google新闻标准的相关指导和支持。 #### 知识点四:注意事项与技巧 1. **关键词研究**:进行深入的关键词研究,找到最具潜力且竞争较小的关键词。 2. **预算管理**:合理规划...

    在自己的网页里套上百度搜索引擎,谷歌搜索引擎,文本框中输入文字会显示下拉提示自动补全文字,点百度一下打开百度显示你搜索的文字.zip

    在构建个人网页时,集成第三方搜索引擎,如百度和谷歌,可以极大地提升用户体验,尤其是通过实现自动补全功能,用户在输入关键词时能更快地找到所需信息。本教程将详细介绍如何在网页中嵌入这两个搜索引擎,并实现...

    MFC MDI多页面嵌入谷歌浏览器CEF实现百度地图浏览

    VS2017开发,可移植VS2019...demo中实现了本地html文件嵌入百度地图,通过UI按钮调用html中的javascript可实现调用地图api。参考这份代码,起码能省下半个月的摸索时间。提供售后服务,联系邮箱:rax_zhang@yeah.net。

    google-baidu-离线地图.rar

    总的来说,"google-baidu-离线地图.rar"这个压缩包为开发者提供了一套实现Google和百度离线地图的解决方案,包括坐标转换、地图瓦片下载和Webview嵌入等功能。对于那些需要在无网络环境下提供地图服务的项目来说,这...

    Axure夜话之嵌入代码系列视频教程之嵌入地图.zip

    在设计过程中,有时候我们需要在原型中展示动态的地图,如谷歌地图、高德地图或者百度地图。这样的需求可能出现在旅游应用、导航系统或者房地产平台等项目中。通过嵌入代码,我们可以将这些地图服务直接集成到Axure...

    百度,谷歌,天气预报API应用实例

    例如,百度地图API允许开发者在自己的网站或应用上嵌入地图功能,实现定位、导航、路线规划等。要使用百度地图API,你需要先注册一个百度开发者账号,获取API密钥,然后在代码中引入相应的JavaScript库,并调用相应...

    将CEF3嵌入MFC(VS2015_X64编译)

    将CEF(cef_binary_3.3440.1805.gbe070f9_windows64)嵌入MFC的示例,完全基于官方代码修改,没有增加自定义的类,具体内容: 1.提供编译好的libcef_dll_wrapper.lib 2.将所有必要的包含文件和库文件(dll)集成到...

    谷歌百度地图api帮助文档

    【标题】:“谷歌百度地图api帮助文档” 在IT行业中,地图API是开发地理位置相关应用的重要工具,本资源主要聚焦于谷歌和百度这两家巨头的地图API。开发者可以通过这些API实现地图展示、定位、路线规划等功能,为...

    搜索引擎盈利模式探析——以百度和Google为例.docx

    AdSense则是将广告嵌入到合作伙伴的网站上,根据用户点击产生的收益与网站主分成,形成了一个广泛的网络广告生态系统。 除了广告业务,百度和Google还尝试多元化发展。百度推出了百度云、百度地图、百度知道等一...

    基于PHP的虐神百度开源系统 v1.0.zip

    9. **SEO最佳实践**:作为一款SEO工具,系统可能内置了一些关于关键词优化、元标签设置、网站速度提升等方面的建议。 10. **持续集成/持续部署(CI/CD)**:开源项目通常会采用版本控制系统如Git,同时可能利用自动化...

    googlemap 不能用 用baidu map

    标题“googlemap 不能用 用baidu map”指出了一个普遍的问题,即Google Maps在国内的不可用性,以及开发者转向使用百度地图作为解决方案。这一转换涉及的关键知识点包括: 1. **Google Maps API**: Google Maps提供...

    PHP实例开发源码-哥博客百度谷歌搜索系统php版.zip

    【PHP实例开发源码-哥博客百度谷歌搜索系统php版.zip】是一个PHP开发的源代码包,主要用于构建一个集成了百度和谷歌搜索功能的系统。这个项目可能旨在帮助用户在自己的网站上实现对这两个搜索引擎的集成,从而方便地...

    JSP实现百度谷歌分页页码功能源代码

    本示例聚焦于使用JSP(Java Server Pages)来实现类似百度和谷歌的分页功能。下面将详细解释如何通过JSP来创建这种功能,以及涉及到的关键知识点。 首先,我们要理解JSP的基础。JSP是一种基于Java的服务器端脚本...

    idea百度搜索Ideasearchwithbaidui.zip

    标题 "idea百度搜索Ideasearchwithbaidui.zip" 提供了一个关于IntelliJ IDEA集成百度搜索功能的信息。这个压缩包包含的项目是为了解决在国内使用IntelliJ IDEA时,由于Google搜索服务可能受限而带来的不便。描述指出...

    百度联盟和google-adsense广告如和同时放

    4. **放置代码**:将获取到的代码嵌入到您的网站相应的位置上。建议在不同的页面或区域分别放置来自两个平台的广告,以达到最佳展示效果。 5. **监控效果**:安装相关的监控工具,以便随时查看广告的表现情况,并...

    rcp框架嵌入 JxBrower

    rcp框架嵌入 JxBrower 用于在当前项目中嵌入第三方项目开发的页面 Browser browser = new Browser(); BrowserView view = new BrowserView(browser); JFrame frame = new JFrame("JxBrowser"); frame....

    搜索排名点击百度,谷歌,搜搜

    在互联网营销领域,搜索排名点击是一个关键的概念,它涉及到如何提升网站在搜索引擎结果页面(SERP)中的位置,特别是对于百度、谷歌和搜搜(已并入腾讯搜狗)这三大主流搜索引擎。本文将深入探讨搜索排名点击的重要...

Global site tag (gtag.js) - Google Analytics