Python 如何让xgoogle返回google首页

Python 如何让xgoogle返回google首页,python,pdf,xgoogle,Python,Pdf,Xgoogle,一直在尝试使用xgoogle在互联网上搜索PDF。。我遇到的问题是,如果我搜索“Medicine:pdf”,返回给我的第一页并不是谷歌返回的第一页,也就是说,如果我真的使用谷歌。。。。不知道怎么了这里是ma代码 try: page = 0 gs = GoogleSearch(searchfor) gs.results_per_page = 100 results = [] while pag

一直在尝试使用xgoogle在互联网上搜索PDF。。我遇到的问题是,如果我搜索“Medicine:pdf”,返回给我的第一页并不是谷歌返回的第一页,也就是说,如果我真的使用谷歌。。。。不知道怎么了这里是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
试试看:
第页=0
gs=谷歌搜索(搜索)
每页的总体结果=100
结果=[]
当页面<2时:
gs.page=第页
结果+=gs.get_结果()
页码+=1
除搜索错误外,e:
打印“搜索失败:%s”%e
对于结果中的res:
打印分辨率描述
如果我实际使用谷歌网站搜索查询,谷歌为我显示的第一页是: 标题:医学-英国文化协会
描述:英国医学培训有着悠久的优秀历史和。。。世界各地的医学领袖都接受了医学教育。
网址:‎
但如果我使用python Xgoogle搜索,我会得到:
Python输出
描述:UCM175757.pdf
标题:我家里的药品:学生演示-食品和药品…

Url:

我注意到在浏览器中使用xgoogle和使用google的区别。我不知道为什么,但你可以试试谷歌自定义搜索api。google自定义搜索api可能会提供更接近的结果,并且不会有被禁止进入google的风险(如果您在一个短时间内多次使用xgoogle,则会返回错误而不是搜索结果)

首先,您必须注册并启用您在google中的自定义搜索,以获取密钥和cx

api格式为:

customsearch/v1key=yourkey&cx=yourcx&alt=json&q=yourquery

  • customsearch是您想要使用的google功能,在您的情况下,我认为它是customsearch
  • v1是您应用程序的版本
  • yourkey和yourcx由google提供,您可以在仪表板上找到
  • 您的查询是您要搜索的术语,在您的示例中是“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)