代码审计

获取Google搜索结果的Py脚本

百度在搜索上跟google还是有很大差距的,尤其是google支持很多搜索语法,非常强大。所以这里这里写了个简单的获取google搜索结果的脚本。但是google做了防爬取限制,使用一般的正则匹配是不行的,这里用的是google的ajax的接口,但是使用起来还是有些问题,没有完全解决。

获取google搜索结果的Python代码

1
#! /usr/bin/env python
1
 #coding=utf-8
1
 import urllib2,urllib
1
 import msvcrt
1
 import simplejson
1
 import sys
1
def CatchURL(key,num):#抓取链接
1
 url = ('https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=%s&rsz=8&start=%s') % (key,num)
1
 try:
1
 request = urllib2.Request(url)
1
 response = urllib2.urlopen(request)
1
 results = simplejson.load(response)
1
 URLinfo = results['responseData']['results']
1
 except Exception,e:
1
 print e
1
 else:
1
 for info in URLinfo:
1
 result.append(info['url'])
1
def RemoveRepeat(List):#列表去重
1
 New_List = []
1
 for i in List:
1
 if i not in New_List:
1
 New_List.append(i)
1
 return New_List
1
def save(List):
1
 f = open("result","w")
1
 for i in List:
1
 f.write(i+"\n")
1
 f.close()
1
if __name__ == '__main__':
1
 searchstr = raw_input()
1
 pagenum = input()
1
 result = []
1
 for i in range(1,pagenum+1):
1
 CatchURL(searchstr,i)
1
 result = RemoveRepeat(result)
1
 save(result)
1
 print "DONE!"

运行程序,第一行输入搜索的内容,第二行输入搜索的页数,然后会在程序同目录下生成result文件,里面是获取并且去重后的url,但是程序运行的时候可能会出现如下的情况.

Google搜索结果的Py脚本

那是因为google检测到非正常的请求,导致无法获取搜索结果,暂时未能解决。

(0)
Loading收藏(0)

本文由 老D博客 作者:老D 发表,转载请注明来源!

关键词:, ,
SS推荐

热评文章

发表评论

*

评论: 95 条评论,访客:94 条,博主:1 条

  • 宅男的野心
    宅男的野心 发布于:  回复

    之前一直都想过尝试抓取Google搜索结果了,
    API我总觉得很容易被封(个人认为而已),
    我在想用Selenium一类的浏览器自动化软件来访问Google搜索结果,
    再分析出HTML的内容。
    这个应该是比较笨,但比较稳定的方法。
    (个人认为HTML不会常常改,即使改了也可用比较智能的视觉条件来分析)
    不知现在老D有没有其他方法,如果没有的话,我就做出来试试看。

  • 宅男的野心
    宅男的野心 发布于:  回复

    之前一直都想过尝试抓取Google搜索结果了,
    API我总觉得很容易被封(个人认为而已),
    我在想用Selenium一类的浏览器自动化软件来访问Google搜索结果,
    再分析出HTML的内容。

  • 醬油Project
    醬油Project 发布于:  回复

    获取Google搜索结果的Py脚本 ←读成"获取Google搜索结果的屁眼脚本"…

  • 1
    1 发布于:  回复

    老刀,给你友情测试了一下,你的输入框需要验证啊.

    • 老D
      老D 发布于:  回复

      尼玛,刷了我一百多条,我用的是第三方评论插件

      • 1
        1 发布于:  回复

        100条都是我手下留情了,关得快.

        • wiki
          wiki 发布于:  回复

          哈哈好玩

          • wiki
            wiki 发布于: 

            写个循环就好。

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs

  • 测试老刀的bbs
    测试老刀的bbs 发布于:  回复

    测试老刀的bbs