""" Basic example of scraping pipeline using SmartScraper from XML documents """ import os from dotenv import load_dotenv from scrapegraphai.graphs import SmartScraperGraph from scrapegraphai.utils import prettify_exec_info load_dotenv() # ************************************************ # Read the XML file # ************************************************ FILE_NAME = "inputs/books.xml" curr_dir = os.path.dirname(os.path.realpath(__file__)) file_path = os.path.join(curr_dir, FILE_NAME) with open(file_path, 'r', encoding="utf-8") as file: text = file.read() # ************************************************ # Define the configuration for the graph # ************************************************ gemini_key = os.getenv("GOOGLE_APIKEY") graph_config = { "llm": { "api_key": gemini_key, "model": "google_genai/gemini-pro", "temperature": 0, "streaming": True }, } # ************************************************ # Create the SmartScraperGraph instance and run it # ************************************************ smart_scraper_graph = SmartScraperGraph( prompt="List me all the authors, title and genres of the books", source=text, # Pass the content of the file, not the file object config=graph_config ) result = smart_scraper_graph.run() print(result) # ************************************************ # Get graph execution info # ************************************************ graph_exec_info = smart_scraper_graph.get_execution_info() print(prettify_exec_info(graph_exec_info))