这个功能如何实现?PHP/Javascript我需要的功能是这样的:
1,用户输入搜索关键词,我替他后台在google或百度搜索。
2,搜索结果先不给用户,我处理一下,用正则表达式匹配,并特殊模板输出。
思路大致是有的,就是不很清晰,最好大侠能提供类似的开源实现,最好有代码。
尤其是“用户输入搜索关键词,我替他后台在google或百度搜索,结果先缓存,不给用户,而是自己先处理一下”,
这个功能不知道如何实现,最好有代码。

解决方案 »

  1.   

    现成的代码可能没有,但是肯定能做到。
    不用正则也行的。
    Google API有个接口:
    http://code.google.com/intl/zh-CN/apis/ajaxsearch/
      

  2.   

    php可以将一个URL资源作为一个文件打开,并以文本方式读取其html源文件,这样你就有机会对其中的内容进行处理,并将处理后的信息返回给你的用户。
      

  3.   

    哈哈~这种用法都给你想出来你可以先用google 的进阶搜寻
    手动做一次搜索
    网址列会出现一大串查询 URL
    这就是重点了~当你的用户进行搜索时
    参考你手动得的 URL
    用他的关键词重组成新的查询URL
    再用将这 URL 传到 google
    得到返回结果(这过程可以用file_get_content,HTTP_Client,Curl ... 等等实现)现在~手上有一个google 的查询结果html
    用正则之类的东西
    根据类名就可以得到大约的标题,简介(google 排列得很好,已经帮你用class名分好类了)
    再用strip_tags() 清理一下
    就可以得到漂亮的格式
    之后就可以为所欲为了~嘿嘿 ^_^记得将结果存进自己的数据库做缓存
    不停查询会被google封IP的
    写了很多 Zzz...
      

  4.   

    用那个什么 get 什么content 什么函数的,具体在手册上查,在后台请求一个页面,然后返回结果,然后在用正则处理就好赖
      

  5.   


    我想API可能是最好的了,这样很费时间,并且Google封掉IP就麻烦了。
      

  6.   

    Google API 全部都会有google的logo
    最终用户都会被指向google
    API只是google 的广告而已
    他为你提供功能~你为他做免费广告
      

  7.   

    给你一个ASP的吧··
    多给点分哦!<%
    On Error Resume Next
    Server.ScriptTimeOut=9999999
    Function getHTTPPage(Path)
    t = GetBody(Path)
    getHTTPPage=BytesToBstr(t,"gb2312")
    End function
    Function GetBody(url) 
    on error resume next
    Set Retrieval = CreateObject("Microsoft.XMLHTTP") 
    With Retrieval 
    .Open "Get", url, False, "", "" 
    .Send 
    GetBody = .ResponseBody
    End With 
    Set Retrieval = Nothing 
    End Function
    Function BytesToBstr(body,Cset)
    dim objstream
    set objstream = Server.CreateObject("adodb.stream")
    objstream.Type = 1
    objstream.Mode =3
    objstream.Open
    objstream.Write body
    objstream.Position = 0
    objstream.Type = 2
    objstream.Charset = Cset
    BytesToBstr = objstream.ReadText 
    objstream.Close
    set objstream = nothing
    End Function
    Function Newstring(wstr,strng)
    Newstring=Instr(lcase(wstr),lcase(strng))
    if Newstring<=0 then Newstring=Len(wstr)
    End Function
    url="http://www.baidu.com/s?wd=潇湘博客"
    wstr=getHTTPPage(url) 
    ck1="<div id=scriptdiv></div>"
    ck2="<br clear=all>"
    start=Newstring(wstr,ck1)
    over=Newstring(wstr,ck2)
    body=mid(wstr,start,over-start)body=right(body,len(body)-len(ck1))
    body=Left(body,len(body)-0)%>
    <%=body%>
      

  8.   

    lz可以通过ajaxsearch接口,提取JSON并进行处理。
      

  9.   


    貌似我需要绕开的就是这个,因为Google的条款请大家读一下,不许去掉Logo,不许去掉公司链接,不许
    如果用了Google AjaxSearch API意义何在,都在给Google免费做广告了。于是我想,自己搭一个Web搜索引擎得了,大家觉得有多难?Nutch、Lucene怎末样?