Brave Search API 的 Python 包装器。
Brave Search 不会跟踪您或您的查询,它是 Google 搜索的隐私保护替代方案。它为开发人员提供了许多可以在其上进行构建的端点。该模块是 Brave Search API 的包装器。
该存储库正在积极开发中,功能可能会发生变化。如果您有任何建议或要求,请提出问题。
首先,使用 pip 安装软件包:
pip install brave-search
该模块支持同步和异步请求。您的 Brave API 密钥可以作为BRAVE_API_KEY
下的环境变量传递,也可以作为 Brave 类的参数传递。
from brave import Brave
brave = Brave ()
query = "cobalt mining"
num_results = 10
search_results = brave . search ( q = query , count = num_results )
search_results
对象将包含 Brave Search API 返回的所有数据。您可以从网络搜索端点访问Web
、 News
和Video
结果,如下所示:
web_results = search_results . web_results
news_results = search_results . news_results
video_results = search_results . video_results
该模块还支持异步请求:
from brave import AsyncBrave
brave = AsyncBrave ()
query = "cobalt mining"
num_results = 10
search_results = await brave . search ( q = query , count = num_results )
要返回尚未通过 pydantic 模型验证的原始 JSON 响应,请使用raw
标志:
from brave import Brave
query = "George Orwell, 1984"
num_results = 10
search_results = brave . search ( q = query , raw = True )
使用download_pdfs
方法下载搜索结果中找到的所有 PDF。此方法返回已下载 PDF 的文件路径列表。您可以使用 Goggles 来增强搜索结果中的 PDF。
from brave import Brave
brave = Brave ()
query = "cobalt mining"
num_results = 10
search_results = brave . search ( q = query , count = num_results )
search_results . download_pdfs ()
使用product_prices
方法获取一组搜索结果的价格列表。此方法返回在搜索结果中找到的价格列表。如果未找到价格,则返回空列表。该方法目前不支持货币兑换。
from brave import Brave
brave = Brave ()
query = "Blue Tack"
num_results = 10
country = "US"
search_results = brave . search ( q = query , count = num_results , country = country )
print ( search_results . product_prices ())
# >> [6.28, 5.98, 4.99, 13.18, 6.59, 7.8, 5.56, 10.79, 5.02, 10.56, 16.95, 9.99, 23.59, 16.31, 11.96]
print ( search_results . product_price_ranges ())
# >> (4.99, 23.59)
使用average_product_review_score
方法获取一组搜索结果的平均评论分数。此方法将所有评论分数转换为 100 分制。
from brave import Brave
brave = Brave ()
query = "Blue Tack"
num_results = 10
search_results = brave . search ( q = query , count = num_results )
print ( search_results . average_product_review_score ())
# >> 88.13333333333333
Brave 是一个功能强大的搜索引擎,允许使用goggles
对搜索结果重新排名以满足您的用例。 Goggles 使任何个人或社区能够通过使用一组指令(规则和过滤器)来改变 Brave Search 的排名。任何人都可以创建、应用或扩展 Goggle。本质上,Goggles 充当 Brave 搜索索引之上的自定义重新排名。
在这里,我们使用优先考虑学术和档案来源的护目镜。
from brave import Brave
query = "cobalt mining"
goggle_url = "https://raw.githubusercontent.com/CSamuelAnderson/Brave-goggles/main/academic-and-archival.goggle"
num_results = 10
result_filter = "web" # must be comma separated string
search_results = brave . search ( q = query , goggles_id = goggle_url , count = num_results , result_filter = result_filter )
您还可以使用直接贡献给此包的 Goggles:
from brave import Brave
from brave . goggles import thought_leadership
query = "cobalt mining"
num_results = 10
search_results = brave . search ( q = query , goggles_id = thought_leadership , count = num_results )
该包使用 Poetry 进行依赖管理。在这里开始开发,需要安装Poetry
一旦你在系统上安装了 Poetry,只需运行:
make init
检查 CONTRIBUTING.md 以获取有关如何开发该项目的信息。