Skip to main content

A web scraping library based on LangChain which uses LLM and direct graph logic to create scraping pipelines.

Project description

🕷️ ScrapeGraphAI: You Only Scrape Once

ScrapeGraphAI is a web scraping python library based on LangChain which uses LLM and direct graph logic to create scraping pipelines. Just say which information you want to extract and the library will do it for you!

Scrapegraph-ai Logo

🚀 Quick install

pip install scrapegraphai

🔍 Demo

Try out ScrapeGraphAI in your browser:

Open in GitHub Codespaces

📖 Documentation

The documentation for ScrapeGraphAI can be found here. Behind this there is also the docusaurus documentation here.

Setup the api keys

The procedure per for activatating the openai keys are in the following link: link.

💻 Usage

Case 1: Extracting information using a prompt

You can use the SmartScraper class to extract information from a website using a prompt.

The SmartScraper class is a direct graph implementation that uses the most common nodes present in a web scraping pipeline. For more information, please see the documentation.

from scrapegraphai.graphs import SmartScraper

OPENAI_API_KEY = "YOUR_API_KEY"

llm_config = {
    "api_key": OPENAI_API_KEY,
    "model_name": "gpt-3.5-turbo",
}

smart_scraper = SmartScraper("List me all the titles and project descriptions",
                             "https://perinim.github.io/projects/", llm_config)

answer = smart_scraper.run()
print(answer)

The output will be a dictionary with the extracted information, for example:

{
    'titles': [
        'Rotary Pendulum RL'
        ],
    'descriptions': [
        'Open Source project aimed at controlling a real life rotary pendulum using RL algorithms'
        ]
}

🤝 Contributing

Contributions are welcome! Please check out the todos below, and feel free to open a pull request. For more information, please see the contributing guidelines.

After installing and activating the virtual environment, please remember to install the library using the "dev" extra parameter to have the extra dependencies for development.

pip install -e .[dev]

Contributors

Contributors

Authors

Authors Logos

📜 License

ScrapeGraphAI is licensed under the Apache 2.0 License. See the LICENSE file for more information.

Acknowledgements

  • We would like to thank all the contributors to the project and the open-source community for their support.
  • ScrapeGraphAI is meant to be used for data exploration and research purposes only. We are not responsible for any misuse of the library.

Thanks to:

  • nicolapiazzalunga for having inspired us to the functions: scrapegraph/convert_to_json.py and scrapegraph/convert_to_csv.py

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scrapegraphai-0.0.1.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scrapegraphai-0.0.1-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file scrapegraphai-0.0.1.tar.gz.

File metadata

  • Download URL: scrapegraphai-0.0.1.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.7 Windows/10

File hashes

Hashes for scrapegraphai-0.0.1.tar.gz
Algorithm Hash digest
SHA256 86ae8899775cd97a755bb03a4cd9637fc9b51da03bb0b9abda84c95f07f9ab77
MD5 fd9f36af8ead69ac50bd541cffb470c8
BLAKE2b-256 da21def865d961bec978a00c11eece7b0aef4ef9ad999a273d600dcfff0e89c2

See more details on using hashes here.

File details

Details for the file scrapegraphai-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: scrapegraphai-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 22.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.7 Windows/10

File hashes

Hashes for scrapegraphai-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 599354a8f4d4daa8f68ef212ce4a6b7502f59dc06554175a16366038b19e5385
MD5 3b1f740fe35ca6e5251c6589a8a0715d
BLAKE2b-256 8e862e49ab3d298122f5d8b89bdd58c6499daa8eac8dce2d46699e9d1873ed32

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page