0x01 微软bing的api现在也放开了,可以供大家使用了,以前的v1板的时候采用的是appid的方式,这个网上有很多介绍了,可惜现在这个接口取消了,取而代之是新的认证方式
0x02 首先可以参考http://blogs.msdn.com/b/translation/p/gettingstarted1.aspx这个文章讲的就比较细了,注意的点不多,
0x3 首先注册的时候bing的应用(先注册个账号什么的就不用多说了),下来关键就是注册bing的search api 应用
https://datamarket.azure.com/browse/data?price=free&sort=name
这里面找,
点击进去,我们大多数穷人就选这个了
一路next下去,到最后完成后,可以打开My Account,看到如下界面就说明成功了,其中核心是Primary Account Key。
<!--[endif]-->
0x04 下来核心就是怎么用了,这里的文档讲的也比较细
https://skydrive.live.com/view.aspx?resid=9C9479871FBFA822!112&app=Word&authkey=!ANNnJQREB0kDC04
这里注意的点就比较多了,首先最重要的是api的认证方式,有两种,一种是OAuth2,一种是基本的401认证,其中OAuth2的方式比较正规和复杂点,但是管理性强些,而401认证就比较简单粗暴了,我用的是401认证的方式
0x05 401认证,顾名思义就是利用http 包头增加Authorization basic字段来实现认证。要注意的是这里认证的密码就是前面提到的Primary Account Key,用户名为空,
python中就是这个样子:
https:// api.datamarket.azure.com/Bing/Search/Web?'+ urllib.urlencode(payload)
AccountKey要注意的是,401认证的实质是在包头增加Authorization basic,而这里如果要直接代码实现的话,包头的内容应该增加如下:
Authorization basic base64.encode(":"+AccountKey)
一定要注意虽然用户名为空,但是冒号不能少,然后base64编码后,发送
payload的字段也很关键:
其中比较重要的是四个字段如下
$format 决定了返回的格式样式,是xml还是json,例如 $format=json
$top 决定了每一次返回的结果个数,类似于数据库分页中的limit,(0-50)。
$skip 决定了返回的起始数字,类似与数据库分页的start
Query 就是实际查询的语句,特别要注意,这里的查询语句需要用两个单引 号括起来,不然会报错注意要url编码下
其中前三个字段的开头都要有$符号,千万不能忘。
0x06 返回的json格式目前是
0x07 附上一段python利用代码
# coding=utf-8 """ Created on 2013-1-24 @author: icefish """ import urllib import urllib2 import base64 try: import json except ImportError: import simplejson as json #这里填上你申请到的bing的accout key 就可以了 AccountKey='XXXXXXX.....' top=50 skip=0 format='json' def BingSearch(query): payload={} payload['$top']=top payload['$skip']=skip payload['$format']=format payload['Query']="'"+query+"'" url='https://api.datamarket.azure.com/Bing/Search/Web?' + urllib.urlencode(payload) sAuth='Basic '+base64.b64encode(':'+AccountKey) headers = { } headers['Authorization']= sAuth try: req = urllib2.Request(url,headers=headers) response = urllib2.urlopen(req) the_page=response.read() #print the_page data=json.loads(the_page) return data except Exception as e: print e #print e.info() if __name__ == '__main__': data=BingSearch("abc") print data
相关推荐
本篇文章将深入探讨如何使用Python编写一个脚本来抓取Bing搜索引擎的搜索结果,这涉及到网络爬虫的基本原理、Python的相关库以及如何处理抓取的数据。 首先,我们需要了解Python中的网络请求库,如`requests`。`...
Bing提供的是必应Web搜索API,可以通过调用HTTP接口来获取搜索结果。而百度则有百度开放搜索API,同样通过HTTP请求获取数据。但要注意,直接大量爬取可能违反服务条款,所以一般会设置合适的延迟和请求限制。 ...
这个API密钥将用于认证你的请求,允许你调用Bing搜索服务。 2. **Python编程**:文件`search_bing_api.py`表明我们使用Python作为编程语言。Python有丰富的库支持网络请求和文件操作,如`requests`库用于发送HTTP...
- **RSS接口**:提供了一个完全符合OpenSearch标准的RSS接口,可以访问API中的许多信息源。 #### 三、快速入门:从浏览器使用必应API **1. 使用HTTP GET发送请求** - 必应API Version 2.0 Beta的HTTP端点简化了...
例如,Google的Custom Search JSON API、Yahoo Search API、Bing Search API和DuckDuckGo Instant Answer API。这些API允许开发者在遵守其使用条款的情况下,获取和处理搜索数据。 3. **JSON和XML数据格式**:Query...
为了提供最新、最相关的信息,Python_OpenAssistant可能集成了搜索引擎API,如Google Custom Search API或Bing Search API,或者利用数据爬虫技术从网络上抓取信息。Python的BeautifulSoup和Scrapy框架常用于网页...
然后调用 "Submit URL" API,同样以 POST 方式提交 URL 列表。 谷歌的 Google Search Console 提供了一个 "URL 提交" API,可以批量提交 URL。首先,要在 Google Search Console 中添加并验证你的网站,然后获取...
这可能涉及到网络爬虫技术,如BeautifulSoup、Scrapy等,用于抓取网页数据,同时可能结合搜索引擎API,如Google Custom Search API或Bing Search API来获取准确结果。 4. **文本摘要**:为了快速向用户提供关键信息...
然后,利用编程语言(如 Python)调用百度、必应和谷歌的 API,将这些链接逐一或批量提交。这个过程可能需要处理 API 调用次数限制和验证问题。 通过以上操作,网站管理员可以有效地提高网站的搜索引擎可见性,确保...
常见的新闻API有Google News API、NewsAPI.org、Bing News Search API等。开发者在使用这些API时,通常需要注册并获得API密钥,以确保合法使用并遵守服务条款。 在开发新闻阅读客户端时,首先需要集成新闻API。这...
3. **API接口调用**:学习搜索引擎提供的API,如Google Custom Search API或Bing Search API,理解其使用限制和计费模式。 4. **数据存储**:将抓取的数据存储到本地文件、数据库(如SQLite、MySQL或NoSQL)中,便于...
总的来说,"my-bingpicture-storage"项目是一个很好的实践案例,它结合了Python的网络请求、文件操作以及API调用技术。通过学习和实施这样的项目,开发者可以提高自己的编程技能,并了解如何利用API服务增强应用程序...
- **Custom Search API**:官方推荐使用的API,支持更丰富的定制化选项,但每日调用次数有限制(免费版每天100次),超出需付费购买。 #### 二、使用Python进行网页抓取与分析 1. **网页抓取基础**: - **Python...
要使用Python实现元搜索引擎,首先需要了解各个搜索引擎的API接口,例如Google Custom Search API、Bing Search API等。这些API通常需要申请API密钥,并可能有使用限制和费用。接着,可以使用Python的requests库来...
这段名为“SpiderSearch”的源码可能是用Python或其他编程语言编写,通过调用各个搜索引擎的API或模拟用户行为,批量检查多个网址的收录状态。源码的实现可能包括以下几个步骤: 1. **请求构建**:构建对搜索引擎的...
3. **后端逻辑**:这部分可能涉及服务器端脚本,如PHP、Node.js或Python,用于处理用户的搜索请求,调用搜索引擎接口,以及可能的数据处理和排序。 4. **配置文件**:这些文件可能定义了搜索聚合的设置,如搜索引擎...
为什么使用双鱼座? 该项目源自图像数据集的算法训练需求。 图像搜索引擎(例如Google)现在非常强大。 如果我们可以使用它们,它们就足够了。... 如果您正在使用没有接口的服务器(例如CentOS),则也可以按照以下步
39. **Search Engine**: 搜索引擎是用于查找互联网上信息的工具,如Google、Bing等。 40. **POP (Post Office Protocol)**: 邮局协议用于从邮件服务器下载电子邮件。 41. **Electronic Commerce (E-commerce)**: ...