跳至主要内容

DataForSEO

DataForSeo 通过 API 提供全面的 SEO 和数字营销数据解决方案。

DataForSeo API 从最流行的搜索引擎(如 GoogleBingYahoo)检索 SERP。它还允许获取来自不同搜索引擎类型的 SERP,例如 地图新闻事件等。

此笔记本演示了如何使用DataForSeo API 获取搜索引擎结果。

%pip install --upgrade --quiet langchain-community
from langchain_community.utilities.dataforseo_api_search import DataForSeoAPIWrapper

设置 API 凭据

您可以在 DataForSeo 网站上注册以获取您的 API 凭据。

import os

os.environ["DATAFORSEO_LOGIN"] = "your_api_access_username"
os.environ["DATAFORSEO_PASSWORD"] = "your_api_access_password"

wrapper = DataForSeoAPIWrapper()

run 方法将返回以下元素中的第一个结果摘要:answer_box、knowledge_graph、featured_snippet、shopping、organic。

wrapper.run("Weather in Los Angeles")

runresults 之间的区别

runresultsDataForSeoAPIWrapper 类提供的两种方法。

run 方法执行搜索并返回来自答案框、知识图谱、特色摘要、购物或有机结果的第一个结果摘要。这些元素按从高到低的优先级排序。

results 方法返回一个 JSON 响应,该响应根据包装器中设置的参数进行配置。这使得您在从 API 返回的数据方面具有更大的灵活性。

获取 JSON 格式的结果

您可以自定义要在 JSON 响应中返回的结果类型和字段。您还可以设置要返回的顶级结果的最大数量。

json_wrapper = DataForSeoAPIWrapper(
json_result_types=["organic", "knowledge_graph", "answer_box"],
json_result_fields=["type", "title", "description", "text"],
top_count=3,
)
json_wrapper.results("Bill Gates")

自定义位置和语言

您可以通过向 API 包装器传递其他参数来指定搜索结果的位置和语言。

customized_wrapper = DataForSeoAPIWrapper(
top_count=10,
json_result_types=["organic", "local_pack"],
json_result_fields=["title", "description", "type"],
params={"location_name": "Germany", "language_code": "en"},
)
customized_wrapper.results("coffee near me")

自定义搜索引擎

您还可以指定要使用的搜索引擎。

customized_wrapper = DataForSeoAPIWrapper(
top_count=10,
json_result_types=["organic", "local_pack"],
json_result_fields=["title", "description", "type"],
params={"location_name": "Germany", "language_code": "en", "se_name": "bing"},
)
customized_wrapper.results("coffee near me")

自定义搜索类型

API 包装器还允许您指定要执行的搜索类型。例如,您可以执行地图搜索。

maps_search = DataForSeoAPIWrapper(
top_count=10,
json_result_fields=["title", "value", "address", "rating", "type"],
params={
"location_coordinate": "52.512,13.36,12z",
"language_code": "en",
"se_type": "maps",
},
)
maps_search.results("coffee near me")

与 Langchain 代理集成

您可以使用 langchain.agents 模块中的 Tool 类将 DataForSeoAPIWrapper 与 langchain 代理集成。Tool 类封装了一个代理可以调用的函数。

from langchain_core.tools import Tool

search = DataForSeoAPIWrapper(
top_count=3,
json_result_types=["organic"],
json_result_fields=["title", "description", "type"],
)
tool = Tool(
name="google-search-answer",
description="My new answer tool",
func=search.run,
)
json_tool = Tool(
name="google-search-json",
description="My new json tool",
func=search.results,
)
API 参考:Tool

此页面是否有帮助?


您还可以留下详细的反馈 在 GitHub 上.