0

この xgoogle を使用してインターネット上の pdf を検索しようとしています。問題は、「Medicine:pdf」を検索すると、最初に返されるページが Google が返す最初のページではないことです。つまり、実際に使用した場合グーグル....何が間違っているのかわからない ここはmaコードです

     try:
         page = 0   
         gs = GoogleSearch(searchfor)
         gs.results_per_page = 100
         results = []
         while page < 2:
             gs.page=page
             results += gs.get_results()
             page += 1
     except SearchError, e:
            print "Search failed: %s" % e             
     for res in results:
         print res.desc

Google のウェブサイトを実際に使用してクエリを検索すると、Google で表示される最初のページは次のようになります。 タイトル: 医学 - ブリティッシュ
カウンシル彼らの医学教育を受けました。
Url : http://www.britishcouncil.org/learning-infosheets-medicine.pdf <br> しかし、python Xgoogle 検索を使用すると、次のようになります:
Python OutPut説明 :
UCM175757.pdf
学生 - 食品と医薬品 ...
URL: http://www.fda.gov/downloads/Drugs/ResourcesForYou/Consumers/BuyingUsingMedicineSafely/UnderstandingOver-the-CounterMedicines/UCM175757.pdf

4

1 に答える 1

0

xgoogle を使用する場合とブラウザで google を使用する場合の違いに気付きました。理由はわかりませんが、Google カスタム検索 API を試すことができます。Google カスタム検索 API を使用すると、より近い結果が得られ、Google から追放されるリスクがなくなります (1 つの短期間に xgoogle を何度も使用すると、検索結果ではなくエラーが返されます)。

まず、Google でカスタム検索を登録して有効にし、キーと cx を取得する必要があります https://www.google.com/cse/all

API 形式は次のとおりです。

' https://www.googleapis.com/customsearch/v1 ? _ _ _ key=yourkey & cx=yourcx & alt=json & q=yourquery '

  • customsearch は、使用したい Google 関数です。あなたの場合、customsearch だと思います
  • v1 はアプリのバージョンです
  • yourkey と yourcx は Google から提供され、ダッシュボードで見つけることができます
  • yourquery は検索する用語です。あなたの場合は「Medicine:pdf」です。
  • json は戻り形式です

例は、Google カスタム検索結果の最初の 3 ページを返します。

import urllib2
import urllib
import simplejson
    def googleAPICall():    
        userInput = urllib.quote("global warming")    
        KEY = "##################"  # get yours
        CX = "###################"  # get yours

        for i in range(0,3):
            index = i*10+1 
            url = ('https://scholar.googleapis.com/customsearch/v1?'    
                   'key=%s'
                   '&cx=%s'
                   '&alt=json'
                   '&q=%s'
                   '&num=10'
                   '&start=%d')%(KEY,CX,userInput,index)  

            request = urllib2.Request(url)
            response = urllib2.urlopen(request)
            results = simplejson.load(response)
于 2014-04-30T16:27:39.743 に答える