>Oxylabs 是市场领先的网络智能数据采集平台,以最高标准的商业道德和合规规范驱动,使全球企业能够获取数据驱动的洞察。
概述
此包包含与 Oxylabs 的 LangChain 集成,提供使用 LangChain 框架通过 Oxylabs Web Scraper API 抓取 Google 搜索结果的工具。
此包提供以下类:
- -
OxylabsSearchRun- 返回格式化文本的抓取 Google 搜索结果的工具 - -
OxylabsSearchResults- 返回 JSON 格式的抓取 Google 搜索结果的工具 - -
OxylabsSearchAPIWrapper- 用于初始化 Oxylabs API 的 API 包装器
| 价格 |
|---|
| ✅ 免费 5,000 条结果,有效期 1 周 |
设置
安装所需的依赖项。
pip install -qU langchain-oxylabs
凭据
设置正确的 API 密钥和环境变量。创建您的 API 用户凭据:在 Oxylabs 仪表板 注册免费试用或购买产品以创建您的 API 用户凭据(OXYLABS_USERNAME 和 OXYLABS_PASSWORD)。
os.environ["OXYLABS_USERNAME"] = getpass.getpass("Enter your Oxylabs username: ")
os.environ["OXYLABS_PASSWORD"] = getpass.getpass("Enter your Oxylabs password: ")
实例化
from langchain_oxylabs import OxylabsSearchAPIWrapper, OxylabsSearchRun
oxylabs_wrapper = OxylabsSearchAPIWrapper()
tool_ = OxylabsSearchRun(wrapper=oxylabs_wrapper)
调用
使用参数直接调用
该 OxylabsSearchRun 工具接受一个 "query" 参数,应为自然语言查询,并返回组合的字符串格式结果:
tool_.invoke({"query": "Restaurants in Paris."})
使用 ToolCall 调用
tool_ = OxylabsSearchRun(
wrapper=oxylabs_wrapper,
kwargs={
"result_categories": [
"local_information",
"combined_search_result",
]
},
)
from pprint import pprint
model_generated_tool_call = {
"args": {
"query": "Visit restaurants in Vilnius.",
"geo_location": "Vilnius,Lithuania",
},
"id": "1",
"name": "oxylabs_search",
"type": "tool_call",
}
tool_call_result = tool_.invoke(model_generated_tool_call)
# The content is a JSON string of results
pprint(tool_call_result.content)
在代理中使用
安装所需的依赖项。
pip install -qU "langchain[openai]" langgraph
from langchain.chat_models import init_chat_model
os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter API key for OpenAI: ")
model = init_chat_model("gpt-5.4-mini", model_provider="openai")
from langchain.agents import create_agent
# Initialize OxylabsSearchRun tool
tool_ = OxylabsSearchRun(wrapper=oxylabs_wrapper)
agent = create_agent(model, [tool_])
user_input = "What happened in the latest Burning Man floods?"
stream = agent.stream_events({"messages": user_input}, version="v3")
for snapshot in stream.values:
snapshot["messages"][-1].pretty_print()
JSON 结果
OxylabsSearchResults 工具可用作 OxylabsSearchRun 的替代方案,以 JSON 格式检索结果:
from langchain_oxylabs import OxylabsSearchResults
tool_ = OxylabsSearchResults(wrapper=oxylabs_wrapper)
response_results = tool_.invoke({"query": "What are the most famous artists?"})
response_results = json.loads(response_results)
for result in response_results:
for key, value in result.items():
print(f"{key}: {value}")
API 参考
有关此集成包的更多信息,请参见: github.com/oxylabs/langchain-oxylabs
Oxylabs Web Scraper API 文档: developers.oxylabs.io/scraper-apis/web-scraper-api