跳到主要內容

DataForSEO

DataForSeo 透過 API 提供全面的 SEO 和數位行銷數據解決方案。

DataForSeo API 從最受歡迎的搜尋引擎(如 GoogleBingYahoo)檢索 SERP。它還允許從不同的搜尋引擎類型(如 MapsNewsEvents 等)獲取 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 Agents 整合

您可以使用 langchain.agents 模組中的 Tool 類別,將 DataForSeoAPIWrapper 與 langchain agent 整合。Tool 類別封裝了 agent 可以呼叫的函式。

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

此頁面是否對您有幫助?