top of page
Forfatterens bildeLille My

Forenkle webskraping med ScrapeGraphAI - utnytter kraften i store språkmodeller

Webscraping, prosessen med å hente ut data fra nettsteder, har blitt et viktig verktøy for både forskere, dataforskere og bedrifter. Kompleksiteten i nettstrukturene og behovet for tilpasset skrapinglogikk byr imidlertid ofte på betydelige utfordringer. ScrapeGraphAI, et Python-bibliotek, har som mål å revolusjonere webskraping ved å utnytte kraften i store språkmodeller (LLM) og direkte graflogikk. Med ScrapeGraphAI kan brukerne enkelt opprette skrapingspipelines for nettsteder, dokumenter og XML-filer ved ganske enkelt å beskrive informasjonen de ønsker å hente ut.



ScrapeGraphAI har mange bruksområder innen forskning, særlig når det gjelder å samle inn data fra flere kilder på nettet. Her er noen scenarier der ScrapeGraphAI kan være uvurderlig:

  1. Litteraturgjennomgang: Forskere kan bruke ScrapeGraphAI til å hente ut relevant informasjon fra akademiske artikler, tidsskrifter og konferanseprotokoller, noe som effektiviserer litteraturgjennomgangsprosessen.

  2. Markedsanalyse: Ved å skrape data fra e-handelsnettsteder, sosiale medier og nyhetsartikler kan forskere samle inn verdifull innsikt til markedsanalyser og studier av forbrukeratferd.

  3. Sentimentanalyse: ScrapeGraphAI kan brukes til å skrape brukeranmeldelser, kommentarer og meninger fra ulike nettsteder, noe som gjør det mulig for forskere å utføre sentimentanalyse på store datasett.


Slik bruker du ScrapeGraphAI:Det er enkelt å bruke ScrapeGraphAI, og det krever minimalt med oppsett. Følg disse trinnene for å komme i gang:

  1. Installer ScrapeGraphAI ved hjelp av pip: pip install scrapegraphai

  2. Installer Playwright for JavaScript-basert skrapingplaywright install

  3. Konfigurer din OpenAI API-nøkkel (hvis du bruker OpenAI-modeller).Velg en av de tre viktigste skrapingspipelines som tilbys av ScrapeGraphAI:  A. SmartScraperGraph: Skraper på én side som krever en brukermelding og en inndatakilde.   B. SearchGraph: Flersidig skraper som henter ut informasjon fra de beste søkeresultatene i en søkemotor.   C. SpeechGraph: Skrapeprogram som henter ut informasjon fra et nettsted og genererer en lydfil.

  4. Konfigurer skrapingspipelinen ved å spesifisere LLM, embeddingsmodell og andre relevante innstillinger.

  5. Kjør skrapingspipelinen med ønsket prompt og kilde, og hent den ekstraherte informasjonen.


Tilfelle 1: SmartScraper ved hjelp av lokale modeller Husk å ha Ollama installert og laste ned modellene ved hjelp av ollama pull-kommandoen.


from scrapegraphai.graphs import SmartScraperGraph

graph_config = {
    "llm": {
        "model": "ollama/mistral",
        "temperature": 0,
        "format": "json",  # Ollama needs the format to be specified explicitly
        "base_url": "http://localhost:11434",  # set Ollama URL
    },
    "embeddings": {
        "model": "ollama/nomic-embed-text",
        "base_url": "http://localhost:11434",  # set Ollama URL
    },
    "verbose": True,
}

smart_scraper_graph = SmartScraperGraph(
    prompt="List me all the projects with their descriptions",
    # also accepts a string with the already downloaded HTML code
    source="https://perinim.github.io/projects",
    config=graph_config
)

result = smart_scraper_graph.run()
print(result)
The output will be a list of projects with their descriptions like the following:

{'projects': [{'title': 'Rotary Pendulum RL', 'description': 'Open Source project aimed at controlling a real life rotary pendulum using RL algorithms'}, {'title': 'DQN Implementation from scratch', 'description': 'Developed a Deep Q-Network algorithm to train a simple and double pendulum'}, ...]}

 

Tilfelle 2: SearchGraph med blandede modeller Vi bruker Groq for LLM og Ollama for innbygging.



from scrapegraphai.graphs import SearchGraph

# Define the configuration for the graph
graph_config = {
    "llm": {
        "model": "groq/gemma-7b-it",
        "api_key": "GROQ_API_KEY",
        "temperature": 0
    },
    "embeddings": {
        "model": "ollama/nomic-embed-text",
        "base_url": "http://localhost:11434",  # set ollama URL arbitrarily
    },
    "max_results": 5,
}

# Create the SearchGraph instance
search_graph = SearchGraph(
    prompt="List me all the traditional recipes from Chioggia",
    config=graph_config
)

# Run the graph
result = search_graph.run()
print(result)
The output will be a list of recipes like the following:

{'recipes': [{'name': 'Sarde in Saòre'}, {'name': 'Bigoli in salsa'}, {'name': 'Seppie in umido'}, {'name': 'Moleche frite'}, {'name': 'Risotto alla pescatora'}, {'name': 'Broeto'}, {'name': 'Bibarasse in Cassopipa'}, {'name': 'Risi e bisi'}, {'name': 'Smegiassa Ciosota'}]}


 

Tilfelle 3: SpeechGraph ved hjelp av OpenAI Du trenger bare å sende OpenAI API-nøkkelen og modellnavnet.



from scrapegraphai.graphs import SpeechGraph

graph_config = {
    "llm": {
        "api_key": "OPENAI_API_KEY",
        "model": "gpt-3.5-turbo",
    },
    "tts_model": {
        "api_key": "OPENAI_API_KEY",
        "model": "tts-1",
        "voice": "alloy"
    },
    "output_path": "audio_summary.mp3",
}

# ************************************************
# Create the SpeechGraph instance and run it
# ************************************************

speech_graph = SpeechGraph(
    prompt="Make a detailed audio summary of the projects.",
    source="https://perinim.github.io/projects/",
    config=graph_config,
)

result = speech_graph.run()
print(result)

Bekymringer og overveielser: Selv om ScrapeGraphAI tilbyr en kraftig og intuitiv tilnærming til nettskraping, er det noen ting du må huske på:

  1. Respekter nettstedets tjenestevilkår og robots.txt: Sørg for at skrapingen er i samsvar med nettstedets tjenestevilkår og ikke bryter med juridiske eller etiske retningslinjer.

  2. API-bruk og kostnader: Når du bruker tredjeparts-API-er som OpenAI eller Groq, må du være oppmerksom på de tilhørende kostnadene og bruksbegrensningene.

  3. Datakvalitet og pålitelighet: Nøyaktigheten til informasjonen som hentes ut, avhenger av kvaliteten på LLM-en og hvor tydelige brukerveiledningen er. Det er viktig å validere de skrapede dataene før de brukes i kritiske applikasjoner.


ScrapeGraphAI representerer et betydelig sprang fremover innen webskraping, og gir brukerne mulighet til å hente ut informasjon fra nettsteder på en enkel måte. Ved å utnytte kraften i store språkmodeller og direkte graflogikk forenkler ScrapeGraphAI skrapingsprosessen og åpner for nye muligheter for forskere og dataentusiaster. Enten du skal gjennomføre en litteraturgjennomgang, analysere markedstrender eller utføre sentimentanalyse, gir ScrapeGraphAI deg en sømløs og effektiv løsning for datauttrekk.

Comments


bottom of page