Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/salihfurkaan/intellifist-ai

An artificial intelligence model that randomly generates questions according to class, course and subject for the educational application.
https://github.com/salihfurkaan/intellifist-ai

api beautifulsoup4 fastapi gemini generative-ai python random-generation scraping-websites token

Last synced: 8 days ago
JSON representation

An artificial intelligence model that randomly generates questions according to class, course and subject for the educational application.

Awesome Lists containing this project

README

        

# Web Scraper for Educational Content

This project contains a Python script that scrapes educational content from the website testkolik.com. It's designed to extract questions and their corresponding options for specific subjects and topics.

## Features

- Scrapes questions and options from testkolik.com
- Supports different grades, lessons, and topics
- Handles Turkish language content
- Creates an API using FastAPI
- Uses BeautifulSoup for HTML parsing

## Requirements

- Python 3.6+
- requests
- beautifulsoup4

## Installation

1. Clone this repository:
```
git clone https://github.com/salihfurkaan/intellifist-ai
cd intellifist-ai
```

2. Install the required packages:
```
pip install requests beautifulsoup4 google-generativeai fastapi uvicorn
```

## Usage

The main script is `src/data/bs_scraper.py`. You can run it directly:
```
python src/data/bs_scraper.py
```

Replace `GRADE`, `LESSON`, and `TOPIC` with your desired values.

## Function Description

The main function `scrape_through_hs(grade: str, lesson: str, topic: str)` takes three parameters:

- `grade`: The grade level ("9-12")
- `lesson`: The lesson name ("matematik","fizik","kimya","biyoloji","tarih","din-kulturu","ingilizce","cografya")
- `topic`: The specific topic (e.g., "allah-insan-iliskisi") (You can find the topic via [this](https://www.testkolik.com/) URL )

It returns a list of dictionaries, each containing:
- `number`: The question number
- `full_text`: The full text of the question
- `options`: A list of answer options

## Disclaimer

This script is for educational purposes only. Make sure you have the right to scrape content from the target website and comply with their terms of service.

## License

[MIT License](https://opensource.org/licenses/MIT)