Address Collector
Agent 1: Fetch Real Estate Websites and Addresses
from langchain.agents import initialize_agent, Tool
from langchain.llms import OpenAI
from langchain.tools.serpapi import SerpAPITool
from bs4 import BeautifulSoup
import requests
def fetch_addresses(country_name):
# Using SerpAPI to search for real estate websites
serp_tool = SerpAPITool.from_api_key("your_serpapi_key")
search_query = f"real estate websites in {country_name}"
serp_results = serp_tool.run(search_query)
# Extract 5 real estate website links
websites = []
for result in serp_results.get("organic_results", [])[:5]:
websites.append(result.get("link"))
# Fetch and parse addresses from these websites
addresses = []
for site in websites:
try:
response = requests.get(site)
soup = BeautifulSoup(response.text, "html.parser")
# Assume addresses are in a specific tag for simplicity
addresses.extend(soup.find_all("address")[:5])
except Exception as e:
continue
return [addr.get_text() for addr in addresses[:5]]
# Create Agent 1
llm = OpenAI(temperature=0)
agent_1_tool = Tool(
name="FetchRealEstateAddresses",
func=fetch_addresses,
description="Fetches real addresses from real estate websites."
)
agent_1 = initialize_agent([agent_1_tool], llm, agent="zero-shot-react-description")Agent 2: Classify Address Patterns and Generate Fake Addresses
Workflow
Improvements
Last updated