DrishtiSharma's picture
Create extra_tools.py
279951c verified
import wikipedia
import requests
from bs4 import BeautifulSoup
from crewai.tools import tool
@tool("Wikipedia Search Tool")
def search_wikipedia(query: str) -> str:
"""Run Wikipedia search and get page summaries."""
page_titles = wikipedia.search(query)
summaries = []
for page_title in page_titles[:3]: # First 3 results
try:
wiki_page = wikipedia.page(title=page_title, auto_suggest=False)
summaries.append(f"Page: {page_title}\nSummary: {wiki_page.summary}")
except wikipedia.PageError: # Page Not Found
pass
except wikipedia.DisambiguationError: # Disambiguation Error
pass
if not summaries:
return "No good Wikipedia Search Result was found"
return "\n\n".join(summaries)
@tool("Webpage Scraping Tool")
def scrap_webpage(target_url):
"""Scrap the content of a webpage."""
response = requests.get(target_url)
html_content = response.text
soup = BeautifulSoup(html_content, "html.parser")
stripped_content = soup.get_text()
return stripped_content