python 抓取google搜尋結果

來源:互聯網
上載者:User

   這段時間由於要做一個系統,時間比較忙,部落格更新的就不及時,有點抱歉,還是說今天的話題把:因為要抓取一些google上面的搜尋結果資料,開始用的是python傳統的擷取資料的方法比如:[python beautifulsoup多線程分析抓取網頁] , [python SGMLParser] 來擷取資料,後來採集了沒多久,google就自動封掉了,期間嘗試過換IP,類比瀏覽器的方法用了一段時間還是不行,看來google防止抓取的功能太強了,正愁沒思路的時候,偶然間在網上看到一個方法就是用google提供的api來或者結果,這樣省時又省力,於是乎就研究起來了,最後10幾行代碼就搞定了,之前我寫了上百行代碼,看來有了python google api來做python 抓取google搜尋結果還是挺爽的。

廢話少說上代碼:

import urllib2,urllib
import simplejson

seachstr = '汽車'

for x in range(5):
    print "page:%s"%(x+1)
    page = x * 4
    
    url = ('https://ajax.googleapis.com/ajax/services/search/web'
                  '?v=1.0&q=%s&rsz=8&start=%s') % (urllib.quote(seachstr),page)
    try:
        request = urllib2.Request(
        url, None, {'Referer': 'http://www.sina.com'})
        response = urllib2.urlopen(request)

    # Process the JSON string.
        results = simplejson.load(response)
        infoaaa = results['responseData']['results']
    except Exception,e:
        print e
    else:
        for minfo in infoaaa:
            print minfo['url']

這樣就可以根據搜尋關鍵詞把搜尋結果列表的網址給提取出來,這個 api url可以接受很多參數,如果想去瞭解的話,可以看看具體的python google api 文檔。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.