| from crewai import Agent, Crew, Process, Task | |
| from crewai.project import CrewBase, agent, crew, task | |
| #from src.ats.crews.web_scraper_crew.tools.webscraper_tool import WebscraperTool | |
| from crewai_tools import ScrapeWebsiteTool | |
| import os | |
| class WebScraperCrew: | |
| """Lead Filter Crew""" | |
| agents_config = "config/agents.yaml" | |
| tasks_config = "config/tasks.yaml" | |
| def web_scraper_agent(self) -> Agent: | |
| return Agent( | |
| config=self.agents_config["web_scraper_agent"], | |
| tools=[ScrapeWebsiteTool( | |
| args={ | |
| 'pageOptions': { | |
| 'onlyMainContent': True, | |
| 'includeHtml': False | |
| }, | |
| 'timeout': 60000 # 60 seconds | |
| } | |
| )], | |
| verbose=True, | |
| ) | |
| def web_scraper_task(self) -> Task: | |
| return Task( | |
| config=self.tasks_config["web_scraper_task"], | |
| ) | |
| def crew(self) -> Crew: | |
| """Creates the Web Scraper Crew""" | |
| return Crew( | |
| agents=self.agents, | |
| tasks=self.tasks, | |
| process=Process.sequential, | |
| verbose=True, | |
| ) | |