python抓取google搜索结果

来源:岁月联盟 编辑:exp 时间:2011-12-07

 

这段时间由于要做一个系统,时间比较忙,博客更新的就不及时,有点抱歉,还是说今天的话题把:因为要抓取一些google上面的搜索结果数据,开始用的是python传统的获取数据的方法比如:[python beautifulsoup多线程分析抓取网页] ,[python SGMLParser] 来获取数据,后来采集了没多久,google就自动封掉了,期间尝试过换IP,模拟浏览器的方法用了一段时间还是不行,看来google防止抓取的功能太强了,正愁没思路的时候,偶然间在网上看到一个方法就是用google提供的api来或者结果,这样省时又省力,于是乎就研究起来了,最后10几行代码就搞定了,之前我写了上百行代码,看来有了python google api来做python 抓取google搜索结果还是挺爽的。

 

废话少说上代码:

www.2cto.com

url= ('https://ajax.googleapis.com/ajax/services/search/web'

                   '?v=1.0&q=%s&rsz=8&start=%s') % (search,page)

            try:

                request=urllib2.Request(

                url,None,{'Referer':'http://www.baidu.com'})

                response=urllib2.urlopen(request)

           

            # Process the JSON string.

                results=simplejson.load(response)

                info=results['responseData']['results']

            exceptException,e:

                printe

                time.sleep(5)

                continue

           

            forminfoininfo:

                forkeyinminfo.keys():

                    ifkey=='url':

                        try:

                            print'url:%s'%minfo[key]

 

这样就可以根据搜索关键词把搜索结果列表的网址给提取出来,这个api url可以接受很多参数,如果想去了解的话,可以看看具体的python google api 文档。

 

 

作者lonely

图片内容