Next Article in Journal
Regional Damage Warning for Rock Mass via Acoustic Emission and Microseismic Monitoring Data
Previous Article in Journal
Improved Imprecise Dirichlet Model–Improved Transitional Markov Chain Monte Carlo for Power System Reliability Assessment
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

ArabicEduCrawler: AI-Assisted Focused Crawling and Corpus Construction for Arabic Educational Web Content

by
Afyaa Atyan Alkhamisi
*,
Fatmah Bamashmoos
and
Wafaa Alsaggaf
Department of Information Technology, Faculty of Computing & Information Technology, King Abdulaziz University, Jeddah 21589, Saudi Arabia
*
Author to whom correspondence should be addressed.
Appl. Sci. 2026, 16(12), 5964; https://doi.org/10.3390/app16125964
Submission received: 3 May 2026 / Revised: 6 June 2026 / Accepted: 9 June 2026 / Published: 12 June 2026
(This article belongs to the Section Computing and Artificial Intelligence)

Abstract

Arabic natural language processing (NLP) faces major difficulties due to the language’s rich morphological structure and the scarcity of high-quality datasets, especially for educational material distributed across diverse online platforms. Many existing large-scale corpus construction methods depend on extensive web crawling followed by substantial post-processing. This process may introduce irrelevant or low-quality data and often fails to represent the target domain adequately. As a result, a robust approach to developing corpora tailored for domain-sensitive educational NLP systems and linguistic depth is critical, as most current resources are inadequate. This paper presents ArabicEduCrawler, an AI-assisted focused crawling framework designed to improve the acquisition, discovery, and organization of Arabic educational web content. The framework integrates domain-aware source selection, in-crawl Arabic language detection using FastText, large language model (LLM)-assisted XPath extraction, and metadata retrieval to support corpus quality and traceability. Its two-layer architecture combines dynamic web crawling using Scrapy-Playwright with advanced NLP processing, including automatic linguistic annotation with GateNLP and Stanza and a sentence-aware chunking strategy designed for transformer-compatible token limits. Experiments across four major Arabic educational domains resulted in the creation of the Arabic Educational Web Corpus (AraEdu-WC), which consists of 101,770 documents segmented into approximately 286 k text chunks, with more than 50 million tokens, 289,778 sentences, and nearly 3.5 million named entities. The system achieved a harvest ratio of 95.25%, indicating its effectiveness in filtering and retaining relevant content. The sentence-aware chunking evaluation showed consistent improvements in top-ranked retrieval, achieving the highest Hit Rate@10 and MRR@10 across all four embedding models. In particular, the multilingual-E5-large model achieved a Hit Rate@10 of 70%, Precision@10 of 18%, and MRR@10 of 57%. These findings demonstrate that the proposed approach provides an effective balance between crawl efficiency, language purity, and content richness, offering a high-quality Arabic educational corpus for downstream NLP and retrieval research.

1. Introduction

Recently, building text corpora for medium- to low-resource languages (LRLs) has become a popular way to improve natural language processing (NLP) and information retrieval (IR) approaches. Despite these limited resources, there has been a continuous rise in interest in this field. Pre-trained language models (PLMs) depend heavily on the scale, diversity, and quality of their raw textual corpora. Recent work demonstrates that the curation of the pretraining corpus, in addition to architecture and training compute, shapes downstream performance [1,2,3]. Many prominent large-scale corpora are built on foundations like Common Crawl (CC) or web archives [4]. These resources are typically refined through post-processing, rather than being collected with task awareness during crawling. Examples include CCNet [5], C4 [6], OSCAR [7], FineWeb and FineWeb-Edu [8], ArabicWeb-Edu [9], and LanguageCrawl [10], all of which begin with broad web snapshots and subsequently apply cleaning, language identification, filtering, classification, or deduplication.
This paradigm has become indispensable for general-purpose pretraining and is particularly effective for scalability. However, it allocates a substantial amount of quality control to the post-data acquisition phase. Previous audit evidence emphasizes the risks associated with this design choice. Dodge et al. [11] report that C4 has much older web data and problems like benchmark contamination and leakage of personally identifiable or copyrighted information. They argue that web-scale corpora should report source-domain metadata since datasets extracted from large web crawls may not be representative of the larger linguistic community and also show uneven domain distributions and content from different time periods. Kreutzer et al. [12] report that quality audits of multilingual web corpora have revealed major problems such as incorrectly identified languages, misclassified information, boilerplate, and non-linguistic elements, which impact lower-resource languages significantly.
By shifting control earlier in the pipeline, focused crawling improves domain-specific corpus construction. For example, Remus and Biemann [13] show that targeted collection better captures particular knowledge domains compared to broad web crawling. These limitations are particularly significant for Arabic information retrieval due to its relatively lower representation compared to English. In addition, Arabic presents challenges such as rich morphology, dialectal variation, and inconsistent web coverage. This situation has prompted the development of Arabic-specific pretraining and retrieval resources, such as Arabic PLMs, dense passage retrieval models, and embedding benchmarks. Recent studies demonstrate that downstream performance can be improved beyond the capabilities of generic multilingual datasets by employing well-curated and highly targeted Arabic data [14,15,16].
This distinction is particularly important in the context of Arabic educational content. Although the rapid expansion of Arabic web content has increased opportunities for accessing educational information, systematically collecting this material remains difficult because it is spread across heterogeneous websites, affected by linguistic noise, and presented in a wide range of structural formats. In works such as FineWeb-Edu [8] and ArabicWeb-Edu [9], educational quality is usually determined after collecting a large, pre-existing web corpus. It is worth recognizing that the majority of corpora, which are in the billions of words, are constructed by downloading texts from the web without regard for their content or type. Thus, the content of such corpora cannot be ascertained prior to their creation; therefore, subsequent filtering, cleaning, and evaluation are essential.
In contrast, we propose ArabicEduCrawler, a framework designed to shape data quality earlier in the acquisition pipeline through focused source selection, Arabic language detection during crawling, extraction validation, and deduplication of URLs. Whereas most Common Crawl-derived pipelines rely on post hoc filtering over large web archives, ArabicEduCrawler embeds part of this quality control directly into the crawling and extraction stages.
This paper addresses the following research question:
RQ: How can an AI-assisted web crawling and scraping framework be developed to accurately navigate, identify, retrieve, and extract unstructured Arabic educational content from heterogeneous websites while addressing language, formatting, and corpus-structuring challenges?
To address this question, this paper presents the following contributions:
  • We develop ArabicEduCrawler, a novel framework that integrates domain-aware source selection, FastText-based Arabic language identification, and LLM-assisted XPath extraction for early-stage quality control of Arabic educational web content.
  • We employ Scrapy-Playwright to crawl both static and dynamic web pages, focusing on relevant educational domains while reducing unnecessary noise.
  • We develop a dual-threshold Arabic language filtering method based on FastText to maintain high corpus purity and effectively remove irrelevant, non-Arabic, and mixed-language pages during data collection.
  • We propose a sentence-aware chunking method for Arabic educational text that preserves sentence boundaries while dividing documents into token-bounded segments suitable for transformer-based models. In contrast to fixed-window segmentation, this method maintains sentence coherence while keeping chunk sizes appropriate for downstream indexing, retrieval, and annotation tasks.
  • We create an automatic linguistic annotation pipeline using GateNLP and Stanza, which includes tokenization, lemmatization, part-of-speech tagging, and named entity recognition.
  • We empirically validate the proposed approach through the construction of an Arabic Educational Web Corpus (AraEdu-WC), which contains 101,770 documents and 286,025 chunks, with a harvest ratio of 95.25%.
  • We evaluate sentence-aware chunking against Character Text Splitter and Recursive Character Text Splitter using a FAISS index and ranx metrics in a retrieval experiment. The experiment uses 7505 Arabic query–document pairs derived from 500 source documents randomly selected from AraEdu-WC, where the queries were generated using Llama. The proposed sentence-aware chunking strategy achieves the highest Hit Rate@1, @5, and @10; Precision@1, @5, and @10; and MRR@10 across all evaluated embedding models.
  • AraEdu-WC is released as an open, reusable resource to advance research in Arabic NLP and educational technology.
There are three reasons that make this design important. First, the distribution of Arabic educational content on the web is not uniform but is concentrated in specific websites, repositories, and institutional resources, which are the result of targeted acquisition rather than broad web sampling. Second, addressing language identification and normalization challenges early is crucial, as it prevents the accumulation of noisy or mixed-language pages in the retained corpus. Third, educational corpus construction often requires metadata traceability, domain interpretability, and extraction robustness at the document level, rather than only large-scale token counts. This makes our work complementary to Arabic corpus efforts such as ArabicWeb-Edu [9]. ArabicWeb-Edu demonstrates the value of educational-quality filtering for Arabic LLM training. However, neither study is primarily framed as an AI-assisted focused crawling framework for heterogeneous Arabic educational websites with integrated extraction validation, sentence-aware chunking, and automatic linguistic annotation. Our contribution thus resides at the convergence of focused crawling and the development of Arabic corpora for subsequent NLP applications.
The remainder of this paper is structured as follows. Section 2 introduces the background of web crawling and web scraping and examines the challenges related to Arabic NLP. Section 3 surveys relevant literature and identifies the existing research gaps. Section 4 presents the methodology for web crawling and corpus construction, which is organized into two main components: the Focused Web Crawling and Data Acquisition Layer (Section 4.1) and the Arabic Natural Language Processing Layer (Section 4.2). Section 5 describes the experimental setup and procedures, while Section 6 presents and discusses the results. In Section 7, the study outlines limitations and potential directions for future research. Finally, Section 8 concludes the paper.

2. Background

In this section, we describe the background of the major automated techniques to collect and structure large-scale web information. We focus on web crawling and web scraping, which are critical to building large-scale online corpora for various areas such as natural language processing, data mining, and knowledge discovery.

2.1. Web Crawling

Web crawling is the automated technique of navigating the World Wide Web to discover, fetch, and archive web resources by following hyperlinks across pages. This operation is typically performed by software agents known as “crawlers,” “robots,” or “spiders,” and is an essential component of search engines and large-scale data collection systems. The crawling process generally includes downloading HTML pages, building indexes and storing content for future retrieval and analysis. Web crawling has become an important interdisciplinary research field to support tasks such as information retrieval, data extraction, statistics and computational linguistics. Successful crawling requires careful consideration of factors like crawl depth, duplicate detection and politeness mechanisms to avoid overloading target servers [17,18,19].
However, implementing an effective crawler is complex because it requires mechanisms for fault tolerance, server-load management, compliance with the Robots Exclusion Protocol, file handling, and accurate page identification. To support different retrieval objectives, several crawling strategies have been proposed, including breadth-first crawling, parallel crawling, focused crawling, and incremental or repeated crawling. In this study, we use focused crawling, which restricts the crawl to pages relevant to the target topic. This strategy improves the efficient use of hardware and network resources while increasing the likelihood of retrieving useful content. The performance of focused crawlers is commonly evaluated using the harvest rate, defined as the number of relevant pages divided by the total number of retrieved pages, while the loss rate represents its complement [20]. Moreover, effective crawler design requires adherence to key crawling policies, including selection policies for prioritizing pages, politeness policies for avoiding server overload, policies for observing robots.txt instructions, robustness policies for avoiding crawler traps and faulty site structures, and parallelization policies for coordinating distributed crawling [20,21].

2.2. Web Scraping

Web crawling is about discovering and retrieving web pages, while web scraping is about automatically extracting useful information from those pages. It aims to turn scattered, unstructured web content into structured datasets for analysis. Web scraping has been widely utilized in many areas, such as education, academic research, economics, and medicine. Typically, the process starts by sending requests to specific web pages to get their HyperText Markup Language (HTML) content, then the desired information is extracted using scripts, parsing tools, or automation frameworks. As websites become increasingly complex and interactive, data scraping requires technical skill and adaptive strategies, making it not just a technical operation but also a research craft. This automation rapidly transforms scattered and unstructured online data into structured datasets suitable for computational analysis. The term “unstructured data” denotes data that lacks a clear, semantically explicit, and easily interpretable structure for computers [21,22]. On the other hand, recent advances in AI have further strengthened web scraping by allowing systems to adapt to changing page structures, identify patterns, and derive meaningful information from unstructured text [23].

2.3. Challenges in the Arabic NLP

Arabic NLP has increasingly become an area of interest over the past few years, with an increasing number of applications involving human–machine interaction, e.g., search engines, educational platforms, and virtual assistants. Arabic poses inherent computational challenges like root-pattern morphology complexity, orthographic variation, and a general absence of diacritics from the majority of written forms that lead to extremely high ambiguity levels. A single Arabic root, such as ك ت ب (k-t-b, “to write”), can generate multiple inflected forms with different meanings by consisting of different morphemes, as shown in Figure 1. CAMeL Tools [24] decomposes the word into the following components: فَ (coordinating conjunction), َس (future particle), كْتُب (verb stem), ونَ and يَ (third-person masculine plural imperfect verb affixes), and ها (feminine singular object clitic). Frequently, words are formed by combining multiple morphemes, including prefixes, suffixes, and attached pronouns or clitics.
The language includes short vowels, Fatha (بَ, /a/), Dhamma (بُ, /u/), and Kasra (بِ, /i/), which are typically written as diacritics, and long vowels, (ا: ā, long a), (و: ū, long u), and (ي: ī, long i), which are written as letters. The omission of short vowels in most text introduces significant lexical ambiguity. For example, كتب can be read as كَتَبَ (kataba, “he wrote”), كُتُب (kutub, “books”), or كِتَاب (kitāb, “book”). Such ambiguities complicate tokenization and morphological analysis; therefore, comprehensive preprocessing techniques are required to achieve accurate NLP tasks such as Named Entity Recognition (NER). This task involves identifying and classifying key entities in text into predefined categories, such as the names of people, organizations, locations, dates, and more. NER is crucial for various applications, including information retrieval, question answering, and content classification, as it helps in structuring unstructured data by extracting meaningful information [25,26,27,28].
However, the lack of large, annotated datasets for many Arabic languages hampers the training of deep learning models. While Arabic NLP faces significant challenges, ongoing research and innovation hold promise for overcoming these obstacles and enhancing the capabilities of NLP systems in understanding and processing the Arabic language in all its forms.

3. Related Work

Web crawling has been utilized across diverse contexts, complicating its classification due to the methodological variety of current approaches and the heterogeneous nature of web content, especially when considering language and domain-specific limitations. To present a clear review of related work, this section is structured into three main directions: the construction of corpora for low-resource and language-specific contexts via web crawling, domain-targeted crawling and scraping techniques, and the development of web corpora for pre-trained language models. This structure reviews existing studies and highlights the methodological gap that the present work aims to address.

3.1. Corpus Construction for Low-Resource Languages

Researchers have increasingly turned to web-based text corpus creation as an important approach for languages and domains where curated textual resources are limited. In these settings, web crawling is not just a retrieval mechanism but a way to build the baseline datasets for downstream NLP and language modeling applications.
For Arabic content, Hossain et al. [29] crawled Arabic health news using the Scrapy framework and performed content-based quality filtering after crawling, producing a collection of around 152 k web pages and 2 million sentences for text identification. Further research used focused crawling on Punjabi news websites using a Python-based crawler, producing a sizable corpus of 500 k sentences and 134 k pages [30]. In bilingual contexts, WCC-EC 2.0 [31] demonstrated that web crawling can also support specialized corpus construction by collecting about 1.6 M English–Chinese sentence pairs for neural machine translation (NMT). Conversely, increased labor has rendered quality control more explicit. De Jesus and Nunes [32] created the Labadain Crawler, which used an Apache Nutch-based focused crawler to gather general domain Tetun web pages, a custom Tetun language identification model, and filtering during crawling. This resulted in a corpus of about 22 k web pages and 321.7 k sentences. Tahir and Mehmood [33] introduced Corpulyzer, a framework for building low-resource language corpora from the web. Using Urdu as a case study, they generated seed URLs from Common Crawl and crawled the Web to construct UrduWeb20, a corpus of 8.0 million Urdu webpages from 6590 websites. In addition to corpus generation, the framework includes website scoring, content-size filtering, and corpus analysis based on duplicate documents, URL depth, vocabulary distribution, and content richness. Corpulyzer allows for deeper crawling of Urdu websites than Common Crawl alone, showing web-based corpus engineering for low-resource languages. Similarly, Marquard and Suleman [34] demonstrated this direction for isiXhosa, one of South Africa’s LRLs, using a Scrapy-based focused crawler with NLTK for language processing to gather around 202,000 web pages and 4 million sentences from general isiXhosa web content. Their study is important because it treated crawling as corpus engineering rather than simple page discovery. In addition, Humkinar [35] targeted general Urdu web pages through focused crawling, using CLD2 for language identification and URL-based deduplication during crawling, and collected 14 million crawled web pages and 2.2 million scraped Urdu documents to support a search engine. These studies emphasize the value of language-specific preprocessing, relevance assessment, and framework adaptability for constructing quality corpora in low-resource contexts.

3.2. Crawling and Scraping for Research and Educational Content Discovery

In domain-specific crawling and scraping, the focus is not to collect broad language data from across the web but to target acquisition content from a specific subject area or knowledge domain.
In the research domain, Fahrudin et al. [36] introduced an improved scraping approach for scholarly sources with enhanced extraction capabilities, while Mutlu et al. [37] developed a keyword-based intelligent literature search system designed to reduce the effort involved in comprehensive scholarly collection. Both approaches target academic databases to retrieve relevant literature, thereby supporting research discovery and metadata analysis, while also improving the accuracy of retrieving articles related to specified terms. A comparable approach was presented by Ramachandran et al. [38] through the Web Crawler for Pharmacokinetics (WCPK), which uses API-based retrieval, DOI classification, and scheduled full-text harvesting to curate pharmacokinetic literature efficiently. Their system extracted metadata from 74,867 publications and achieved more than 97% accuracy in text extraction.
Educationally oriented work reveals a similar pattern. Barwary et al. [39] combined web crawling, web scraping, MongoDB storage, machine translation, and RDF/LOD-based representation to build a multilingual ontology from university websites and Google Scholar data. Wang [40] employed a Python-based crawling framework using XPath, Beautiful Soup, Selenium, Pandas, and Matplotlib to collect and analyze finance course data from Chinese university MOOC platforms, illustrating how crawled educational data can uncover patterns in course offerings, institutional participation, and resource quality, while also highlighting the lack of use of high-quality digital learning materials. Similarly, Aljemazi and Khder [41] developed Octobot to retrieve Google Scholar data for academic purposes, demonstrating the usefulness of automated relevance-driven collection, although their study offers limited quantitative evidence regarding system performance and accuracy.
Collectively, these studies clearly demonstrate that we can treat extraction quality and operational efficiency as first-class evaluation targets, rather than assuming them as side effects of crawling. These studies are close in spirit to the present work because they emphasize targeted acquisition rather than general web crawling. However, most are designed for the English language and also reveal recurring gaps in multilingual adaptability.

3.3. Web Corpora for Pre-Trained Language Models

Recent work on pretraining corpora has increasingly relied on large-scale web archives, especially Common Crawl, followed by downstream filtering, scoring, and deduplication. Rather than collecting data from narrowly defined sources at crawl time, these approaches typically begin with a broad web snapshot and then apply post hoc quality control to construct corpora suitable for language model training. As shown in Table 1, recent large-scale corpus construction efforts differ in language, source data, and quality-control stage, but most rely on post hoc filtering over broad web archives rather than focused acquisition.
FineWeb-Edu [8] is a representative example of this paradigm. Built from FineWeb, which itself is derived from Common Crawl, it constructs an educational subset through LLM-based scoring and classifier filtering, producing a 1.3 T-token corpus. The study shows that educationally filtered web data can improve downstream benchmark performance, but it also reports demographic and religious bias skews in the resulting corpus.
Another recent effort relevant to Arabic educational corpora is FineWeb-Edu-Ar [42]. FineWeb-Edu-Ar constructs Arabic pretraining data by machine-translating the deduplicated FineWeb-Edu corpus into Arabic. The authors translate approximately 189 million passages using facebook/nllb-200-distilled-600M, comprising about 202 B tokens under an Arabic-trained tokenizer. This work is important because it addresses the scarcity of high-quality Arabic educational data for small language models. However, the resulting corpus is large in scale, but its construction depends on translation quality and inherits the knowledge distribution of the English source data. Therefore, it remains a translation-based adaptation rather than the development of a culturally relevant and contextually Arabic educational corpus. Similarly, the 101 Billion Arabic Words Dataset [43] demonstrates that broad Common Crawl archives can be transformed into a very large Arabic corpus through extensive extraction, cleaning, normalization, and deduplication. However, the authors note limitations such as the absence of downstream evaluation and uneven regional representation.
A similar direction has recently been explored for Arabic in ArabicWeb-Edu [9]. Inspired by FineWeb-Edu, the authors sample 1 million Arabic documents from Common Crawl, assign educational quality labels using Qwen-2.5-72B-Instruct, and train a classifier on top of mGTE-305M to filter large Arabic web corpora. Their experiments indicate that educational quality filtering improves Arabic LLM training outcomes. These studies are highly relevant to the present work because they demonstrate the value of quality-aware educational corpus construction. However, both approaches operate primarily through post hoc filtering over already collected broad web corpora, whereas our work focuses on integrating part of the quality control earlier through focused crawling and source selection.

3.4. Research Gaps

Low-resource corpus studies show how web acquisition can compensate for the scarcity of curated data. Domain-specific crawling studies indicate that source targeting and extraction quality matter in applied settings. What remains underrepresented is an integrated framework that connects acquisition stage decisions to corpus availability in a domain-sensitive setting.
The reviewed literature indicates significant gaps, notably a lack of studies on web crawling systems designed for Arabic content, particularly in the educational sector. While focused crawling has been explored for health, news, and general web domains in languages such as English, Punjabi, Chinese, and Urdu, Arabic remains significantly underrepresented. Within Arabic research, existing works such as AraCovTexFinder apply transformer-based models for specific classification tasks (e.g., COVID-19 text identification), but they do not apply quality filtering into a focused crawling pipeline for structured content acquisition. More recent studies such as FineWeb-Edu and ArabicWeb-Edu show the value of educational-quality filtering, but they remain based on post hoc selection or machine translation from large pre-existing web corpora rather than AI-assisted focused crawling for heterogeneous educational websites. This limitation is especially important because Arabic educational content is often heterogeneous and semi-structured, with metadata represented in diverse formats and vocabulary varying across platforms. At the same time, the scarcity of large-scale Arabic educational corpora continues to constrain the development of high-quality downstream models.

4. Materials and Methods

This section explains the process of designing the architecture of the proposed framework for web crawling and the collection of Arabic educational content, as well as the techniques and algorithms used in the design and evaluation of the approach. Figure 2 shows an overview of the proposed Arabic Educational Crawler (ArabicEduCrawler) architecture presented in this work. The ArabicEduCrawler is designed based on a two-layer architecture to achieve modularity and maintainability. In each layer, we utilize advanced Arabic NLP techniques and web crawling to achieve a specific functionality. The following sections describe in detail each process within the framework.

4.1. Focused Web Crawling and Data Acquisition Layer

In this section, we describe the data sources, selection criteria, crawling architecture, handling of dynamic content, language identification, metadata extraction, and raw data preparation. The extracted data produced by these steps serves as the foundation for the subsequent NLP processing layer.

4.1.1. Data Sources and Domain Scope

The framework is designed to collect Arabic educational content from a diverse array of sources, encompassing Islamic, literary, cultural, scientific, and encyclopedic websites. The purpose of using a limited and diverse seed set was not to maximize web-scale coverage but to evaluate whether the framework could robustly navigate, discover, and structure Arabic educational content across differing site designs and content organizations. This design is the outcome of a targeted selection of sources that are both educationally relevant and structurally diverse enough to validate the extraction and processing pipeline. It also increases the variety of content and semantic depth. Thus, this diversity enriches the content and improves semantic depth, which in turn enhances model comprehension and mitigates bias.
This study draws on the following primary resources:
  • Alukah Network [44] is a network composed of thirteen websites, showcasing contributions from a notable assembly of writers and intellectuals. It hosts thousands of published articles across Islamic studies, literature, science, and cultural topics. The platform provides regularly updated content. The network supports both Arabic and English and includes a wide variety of content in various world languages.
  • Adab [45] is a large digital repository of Arabic literary works, containing more than 90,000 poems and prose texts by 7316 classical and modern authors. It also provides biographical records and well-organized literary collections. With approximately 1.4 billion total views, the platform represents a linguistically rich and semantically diverse source of Arabic text.
  • Shamela Library [46] is one of the largest digitized Arabic text repositories, with over 8000 books and about 7 million pages written by more than 3000 authors. It covers disciplines such as Islamic studies, history, Arabic linguistics, and literature. Its large volume makes it a significant resource for extracting Arabic texts.
  • Arabic Wikipedia [47] contains over 1.3 million articles across a wide range of domains, making it a substantial encyclopedic resource. It has approximately 2 million registered users. This encyclopedia is collaboratively curated and offers structured, domain-diverse, and continuously updated Arabic content that contributes modern terminology and cross-disciplinary coverage.
The websites were selected based on a set of specific defined criteria, including domain relevance, presence of educational text, a preference for text-centric content to facilitate processing, and accessibility and licensing compliance. Thus, it is possible to collect reliable, diverse, and valuable Arabic educational material. The chosen resources vary in terms of topic coverage, content type, format, and accessibility, as summarized in Table 2.

4.1.2. Improving XPath Extraction Using LLMs

XML Path Language (XPath) is a query language designed for extracting data from XML documents, which are structured as hierarchical tree representations. It allows for the selection of parts of an XML document, including HTML pages, based on criteria such as the name, position, or content of an element. Moreover, this language enables precise selection of nodes and supports operations on strings, numbers, and Boolean values. The World Wide Web Consortium (W3C) established XPath as a standard, and it is widely used in conjunction with the Document Object Model (DOM) to retrieve structured information from web pages [48,49]. Traditionally, creating XPath selectors manually for each website is both time-consuming and prone to error, particularly when dealing with large and diverse data sources.
A recent development in web data extraction is the use of large language models (LLMs) to automatically generate and refine XPath expressions [50]. Following the approach suggested by Li et al. [51], the system first generates potential XPath expressions using the LLM. Then, these expressions are evaluated and refined to maintain their effectiveness, not only with minor changes in the DOM but also with structural variations across different websites or within the same website. This method enhances the adaptability and accuracy of data extraction and reduces the need for manual intervention.
As shown in Figure 3, our workflow consists of four stages: (1) fetching raw HTML from given URLs, (2) generating XPath expressions using ChatGPT, (3) validating the generated XPaths with existing scraping tools, and (4) automating the extraction and storage of large-scale data.
We first render dynamic web pages using Scrapy-Playwright, which allows the crawler to extract fully loaded HTML content, including elements dynamically generated by JavaScript. We also use lightweight HTTP-based retrieval techniques, such as Python’s requests library in combination with BeautifulSoup parsing, for static or semi-dynamic pages. After obtaining the HTML source, we provide relevant snippets to ChatGPT, a large language model developed by OpenAI. This enables us to automatically produce candidate XPath expressions. The prompt used to generate XPath expressions with ChatGPT is detailed in Appendix A (Table A1).
The XPath selectors were generated using ChatGPT-4o through the ChatGPT web interface. A uniform prompt template was used across domains to ensure consistency. The prompt requested XPath expressions for a predefined set of article-level fields, such as title, main content, canonical URL, author, publication date, and other available metadata. The same prompt template was applied across all tested domains; however, the provided HTML snippet and the available target fields differed by domain. Consequently, the generated XPath selectors were site-specific, while the prompting procedure remained consistent.
After the LLM generates XPath expressions using methods such as contains() or structural anchoring instead of fragile absolute paths, these expressions are programmatically validated for correctness and structural resilience. This validation process uses Scrapy selectors or lxml parsers to ensure that the XPath correctly extracts the desired content from the document’s architecture. Once validated, the selectors are incorporated into automated crawling pipelines, which include JavaScript-enabled environments such as Scrapy-Playwright. Despite the web’s dynamic content, this integrated methodology makes it possible to collect flexible and reproducible data across different domains.

4.1.3. Focused Web Crawling and Scraping Architecture

The system employs an advanced crawling architecture to enable the thorough acquisition of Arabic educational materials. Scrapy constitutes the core of this architecture, supplemented by Playwright and large language models (LLMs) to refine and optimize the data extraction processes. Scrapy, an open-source Python framework, is specifically designed for crawling structured data from web sources. Originally designed for extracting data from the web, Scrapy is built on seven key components, including the Scrapy engine, spiders, downloader, and scheduler. In addition, it allows users to control the speed and frequency of their requests, helping them adhere to a website’s privacy and usage policies. Beyond that, the Scrapy framework includes several key features. Middleware and pipelines can be configured to implement filters and store data in various file formats. Scrapy’s modular and asynchronous design allows for the efficient management of a high volume of concurrent requests. Concurrently, Playwright facilitates headless browser functionality, thereby enabling the rendering and extraction of content generated by dynamic JavaScript. Consequently, this integrated approach ensures the retrieval of both comprehensive and current data from contemporary web sources. Figure 4 illustrates a comprehensive overview of the Scrapy architecture, comprising seven components [52].
The Scrapy Engine is the heart of the Scrapy framework; the engine manages the flow of data and controls how all other components interact. It is responsible for starting and stopping crawls, as well as triggering events based on system actions. (1) The Engine opens a domain and asks the Spider for the initial URLs to crawl. (2) The Engine receives requests from the Spider and sends them to the Scheduler. The Scheduler queues these requests to be processed later. (3) The Engine requests the next URLs to crawl from the Scheduler. (4) The Scheduler returns the next requests to the Engine. (5) The Engine sends these requests to the Downloader through the Downloader Middlewares. (6) The Downloader fetches the web pages and returns the responses to the Engine. (7) The Engine sends the responses to the Spider through the Spider Middlewares, where the Spider parses the pages, extracts items, and identifies additional URLs for further exploration. (8) The extracted items are then sent through the Item Pipeline, where the data can be cleaned, validated, transformed, and finally stored in a database or output file. Downloader Middlewares serve as hooks, enabling developers to inject custom processing logic into requests and responses as they pass between the engine and the downloader. These middlewares are useful for tasks like altering headers or managing proxies. Spider Middlewares, much like downloader middlewares, offer hooks for processing data as it travels between the engine and the spiders.

4.1.4. FastText for Arabic Language Identification

To collect large volumes of Arabic web content, we integrated FastText’s pre-trained language identification model directly into the crawling process. FastText, developed by Joulin et al. [53], operates at the subword level and uses a linear classifier to identify the language of text samples. Trained on extensive multilingual datasets such as Wikipedia, Tatoeba, and SETimes, FastText can recognize 176 languages, including those with limited resources. The model is highly efficient, processing approximately one thousand documents per second on a single CPU core [54,55].
For instance, Wenzek et al. [5] utilize FastText for language identification and duplicate removal to extract high-quality monolingual data from Common Crawl. Similarly, RefinedWeb [56] and Dolma [57] employ FastText to filter web data, applying strict confidence thresholds to ensure language purity. Penedo et al. [56] set a threshold of 0.65 to guarantee higher quality in their English corpus, while Soldaini et al. [57] exclude documents with an English probability below 0.5, resulting in the removal of about 61.7% of candidates. These thresholds highlight FastText’s effectiveness in producing high-quality monolingual datasets that preserve linguistic coherence.
Building on these results, we present a FastText-based algorithm employing a dual-threshold strategy to efficiently filter and identify Arabic web content, ensuring robust classification. The algorithm accepts as input a text snippet, a pre-trained FastText model, a minimum character length, two confidence thresholds (primary and secondary), and the number of top predictions to consider.
The primary and secondary thresholds were determined through a combination of prior web corpus construction practices and empirical calibration on our Arabic educational dataset. Previous studies commonly use FastText confidence thresholds to enhance language purity and reduce contamination from non-target languages, with typical values such as 0.65 and 0.5 for English corpus filtering. However, in our preliminary inspection of Arabic educational web pages, using a single lower threshold retained a relatively high number of mixed or noisy pages, especially those containing navigation text, metadata, citations, URLs, embedded foreign terms, or boilerplate material.
Based on this analysis, the primary threshold was set at 0.8 to prioritize precision. A document is accepted only when Arabic is the top-ranked FastText prediction with a confidence score equal to or exceeding this threshold. This strict criterion helps maintain the purity of Arabic content and reduces the risk of including non-Arabic or weakly Arabic pages. The secondary threshold, set at 0.5, enhances recall by retaining documents where Arabic appears among the top-k predictions with sufficient confidence, even if it is not the top-ranked label.
The dual-threshold mechanism operates as follows: if the top-ranked prediction is an Arabic label variant with a confidence score above the primary threshold, the text is classified as Arabic. Alternatively, if an Arabic label appears within the top-k predictions (usually the top three) with a confidence above the secondary threshold, the text is also classified as Arabic. Pages failing to meet either condition are excluded, reducing dataset contamination and maintaining efficient web crawling.
For transparency, the algorithm logs the rationale behind each classification decision. Every processed text is accompanied by a label indicating acceptance by the primary threshold, acceptance by the secondary threshold, or rejection (with reasons such as insufficient length, low confidence, or model unavailability). This structured logging facilitates auditing, threshold calibration, and future adaptation of threshold values for other domains or languages. The procedure is formally summarized in Algorithm 1.
Algorithm 1 Arabic Language Identification Using FastText
Input: Text t e x t ; FastText model f a s t T e x t M o d e l ; m i n _ c h a r s ; Primary Threshold T p ; Secondary Threshold T s ; Top-k Predictions k.
Output:  i s _ a r a b i c , r e a s o n , l a b e l s , c o n f i d e n c e s .
  1:
Initialize i s _ a r a b i c False
  2:
Define a r a b i c _ l a b e l s = { __ l a b e l __ a r , __ l a b e l __ a r a , } as the set of Arabic label variants
  3:
if model f a s t T e x t M o d e l is not loaded then
  4:
return False, “Model not loaded”
  5:
end if
  6:
if  t e x t is empty or | t e x t | < m i n _ c h a r s  then
  7:
return False, “Text too short”
  8:
end if
  9:
Normalize t e x t (removing diacritics and standardizing Arabic characters)
10:
Predict ( l a b e l s , c o n f i d e n c e s ) using top-k f a s t T e x t M o d e l . p r e d i c t ( t e x t , k )
11:
Convert confidence scores to float values
12:
Primary threshold: Arabic as the top-1 prediction
13:
if the top-1 predicted label a r a b i c _ l a b e l s and its confidence T p  then
14:
return True, “Primary threshold”, l a b e l s , c o n f i d e n c e s
15:
end if
16:
Secondary threshold: Arabic present in top-k predictions
17:
for each ( l a b e l , c o n f ) in top-k predictions do
18:
    if  l a b e l a r a b i c _ l a b e l s and c o n f T s  then return True, “Secondary threshold”, l a b e l s , c o n f i d e n c e s
19:
    end if
20:
end for
21:
If no condition is satisfied, return False, “Low confidence”, l a b e l s , c o n f i d e n c e s
22:
If an error occurs during prediction, return False, “Prediction error”, l a b e l s , c o n f i d e n c e s

4.1.5. Metadata Extraction and Storage

The pipeline stores metadata at both the crawl level and the resource level for each retained page. This metadata includes the URL, source domain, document title, publication information (if available), and crawl timestamps. Moreover, technical information such as HTTP status codes and content length is collected. The preservation of metadata is crucial for three reasons. First, it enables the corpus to be traceable and reproducible. Second, it simplifies domain-level statistics and source analysis. Third, it ensures that the corpus remains useful for downstream search, indexing, and interpretability. In the current system, both content and metadata are treated as equal products of the acquisition process. All data and metadata collected are stored in MongoDB, providing efficient management, traceability, and easy integration with subsequent processes. The metadata schema for the collected sources is summarized in Table 3.

4.2. Arabic Natural Language Processing Layer

The second layer of the proposed system establishes a linguistic foundation for the dataset through an Arabic NLP pipeline. It is designed to address the morphological complexity and nuances inherent in the Arabic language. This phase serves several purposes: it preprocesses and normalizes the data, transforming raw text into unified, linguistically annotated units. Additionally, this layer introduces a text chunking strategy that goes beyond standard fixed-length segmentation to implement sentence-aware chunking, leveraging AraBERT model tokenization.

4.2.1. Sampling Strategy Using Yamane’s Formula

A sampling approach based on statistical grounds is used to ensure representative quality checks, following methods shown in large Arabic corpus construction efforts [43]. We use Yamane’s formula to draw a subset of documents for manual review so we can identify and address data quality concerns. The sample size n for a population of size N documents can be calculated as:
n = N 1 + N e 2
where e is the desired margin of error. For our dataset with N = 104,421 documents and a margin of error e = 0.01 (1%), the formula yields a sample size of approximately n 9126 documents. A manual inspection of this sample shows a number of problems, including empty lines, special Unicode characters, and residual HTML noise, which inform subsequent normalization, cleaning, and annotation processes.

4.2.2. Data Preprocessing

The preprocessing pipeline begins with data ingestion and inspection of raw text using Yamane’s sample (see Section 4.2.1). The collected corpus from various web pages often contains irrelevant elements such as HTML residues, JavaScript code, boilerplate navigation text, zero-width markers, control characters, incorrectly formed language segments, and other noise.
Each document is checked for UTF-8 encoding to prevent character corruption. The Normalization Form Compatibility Composition (NFKC) method is applied to enhance consistency in tokenization and embedding. Emojis, decorative symbols, random Unicode characters, and formatting controls are removed to reduce unnecessary information. Nonlinguistic artifacts are removed, retaining only essential punctuation marks that separate sentences. Repeated punctuation marks are reduced, like “!!!!!” would be changed to “!”. We eliminate diacritics and elongation, substituting references and citations with <REF>. All Latin script, URLs, and inline hyperlinks are eliminated, as they do not contribute semantic meaning and can degrade embedding quality.

4.2.3. Text Chunking

Large documents can be segmented into meaningful units called chunks, which are important for tasks such as retrieval. Recent research examined various approaches to enhance text segmentation, with Al-Subaie et al. [58] specifically assessing four strategies in Arabic RAG systems. They discovered that sentence-aware chunking achieves the highest performance score (74.78), surpassing fixed-size, recursive, and semantic chunking techniques. On the other hand, semantic chunking, as described in [59], utilizes document summaries to facilitate semantic similarity-based chunking. Although this approach improved retrieval metrics, Qu et al. [60] discovered that semantic chunking did not consistently justify the additional computational cost in comparison to fixed-size chunking. Merola et al. [61] noted that larger chunks reduce retrieval speed and relevance, while smaller chunks risk losing context.
These considerations are also relevant to Arabic embedding and retrieval evaluation ecosystems such as ArabicMTEB [16], where retrieval performance depends on producing coherent, semantically meaningful Arabic passages that can be effectively encoded by dense embedding models. Therefore, sentence-aware chunking is adopted in this work because it preserves sentence boundaries while maintaining transformer-compatible token limits, making the resulting chunks suitable for Arabic dense retrieval. Notably, inadequate segmentation reduces semantic relevance, while overly complex chunking increases computational costs without corresponding benefits. The optimal chunking strategy depends on the context and specific task requirements.
Based on these findings, we implemented a sentence-aware chunking strategy, dividing text at sentence boundaries and using the AraBERT tokenizer to ensure chunk size limits: a maximum of 450 tokens and a minimum of 20 tokens. The upper limit of 450 tokens was chosen to ensure compatibility with transformer-based embedding models while still providing enough educational context. The lower limit of 20 tokens was established after manually reviewing a representative sample determined using Yamane’s formula; chunks falling below this threshold often consisted of brief references or incomplete text segments that had limited value for independent retrieval. This range is specific to the dataset and may be modified for other fields or retrieval purposes.
Due to the morphological complexity of Arabic, a single word can be split into multiple subword tokens by the tokenizer. For example, “فسيكتبونها” (and they will write it) is tokenized as [’##ونها‘,’##كتب‘,’فسي‘] (3 tokens), and “مدرسة” (school) as [’##ة‘,’مدرس‘] (2 tokens), even though each is a single word [14]. Therefore, chunk size is determined by token count, not word count, to ensure compatibility with transformer model input requirements. This approach supports transformer models and retrieval-based NLP systems, prioritizing simplicity and scalability over computationally expensive semantic chunking. A document D is defined as an ordered sequence of sentences:
D = { S 1 , S 2 , , S n } .
Each chunk C k consists of a set of consecutive sentences:
C k = { S i , S i + 1 , , S j } ,
such that the number of tokens produced by the tokenizer satisfies
T min Tokenizer ( C k ) T max ,
where T max = 450 and T min = 20 .
The proposed chunking algorithm operates in three sequential stages:
  • Primary Sentence Segmentation: The document is first segmented using strong punctuation marks, including the period, question mark, exclamation mark, and their Arabic equivalents.
  • Secondary Sub-Sentence Segmentation: If a primary sentence exceeds the maximum token limit ( T max ), it is further divided using weaker punctuation such as the Arabic comma and semicolon.
  • Word-Level Fallback: In case no suitable punctuation is found, and the sentence surpasses the token limit, the algorithm will divide the text at the word level to comply with the token constraints.
Ultimately, the acquired segments are combined into groups that are contextually relevant and fall within the specified token limit. This approach ensures that the resulting chunks are suitable for document indexing and for NLP tasks, such as semantic retrieval.

4.2.4. From Raw Text to Annotations

In this research, we used Python GateNLP, a modern library for the General Architecture for Text Engineering (GATE) framework, and the Stanza Annotator, which is designed for Arabic text annotation. GATE is an open source platform created in 1995 at the University of Sheffield, which allows a range of natural language processing applications. Its modular architecture facilitates efficient text processing, annotation, and information extraction. GateNLP extends this framework to annotate text, manage corpora, and integrate with popular NLP libraries such as spaCy and NLTK, facilitating the development of complex processing pipelines. One advantage is that the annotations and features can be visualized interactively in HTML format, which can be embedded in Jupyter or Colab notebooks [62,63]. Figure 5 shows an example of an interactive visualization of annotations with Stanza NER outputs over an Arabic text from our dataset. The sample is a Wikipedia paragraph about Martin Seligman, used to demonstrate Arabic named entity annotation; for example, terms such as person names and locations are identified and labeled.
Our pipeline comprises the following core NLP tasks: tokenization, part-of-speech (POS) tagging, lemmatization, and named entity recognition (NER). These tasks are essential for understanding the grammatical and semantic dimensions of the text. Furthermore, this framework not only annotates datasets but also assists in content discovery from web documents. In this study, POS, lemmatization, and NER annotations are automatically generated using GateNLP and Stanza. The resulting annotations provide an enriched linguistic layer that supports corpus exploration, indexing, retrieval, and descriptive statistics. The cleaned textual corpus remains available independently, allowing researchers to apply alternative annotation tools or annotation schemes according to their research objectives. The annotated data is stored in PostgreSQL along with the cleaned text, facilitating efficient retrieval and subsequent analysis. Thus, this approach ensures precise processing of Arabic data while simultaneously improving the scalability of NLP research endeavors.
Figure 6 summarizes the workflow and presents an overview of the main steps in our data preprocessing and annotation pipeline. The crawling and filtering pipeline initially processed 109,633 documents. After applying URL deduplication and FastText-based Arabic language filtering, 104,421 documents were retained as the raw accepted corpus, while 5212 were excluded. The sample size for quality inspection was determined using Yamane’s formula, based on this raw corpus before any downstream cleaning.
Following preprocessing, normalization, and removal of residual noise, the corpus was reduced to a final cleaned set of 101,770 documents. These documents were then segmented into 286,025 retrieval chunks using a sentence-aware chunking strategy, with chunk size constraints defined by the AraBERT tokenizer.
Linguistic annotation and sentence-level analysis were subsequently performed with Stanza, resulting in 289,778 sentence units across the chunked corpus. Therefore, statistics based on 104,421 documents refer to the raw, accepted crawl output, while those based on 101,770 documents correspond to the final cleaned corpus used for chunking, annotation, and analysis.

5. Experimental Setup

The experimental workflow was designed to be modular and completely scripted to ensure it can be replicated. Furthermore, we used independently scalable and adaptable Docker-based services. Code and prompts are publicly available on GitHub (https://github.com/afyaa-alkhamisi/ArabicEduCrawler-code, accessed on 5 June 2026).

5.1. Hardware and Software Environment

This study used multiple computing environments across the experimental pipeline to ensure reproducibility, dependency isolation, and sufficient computational resources. The main hardware and software configurations are summarized in Table 4. The focused web crawling and GateNLP stages were run on a macOS 15.0 computer with Apple Silicon, 8 CPU cores, and 16 GB of memory. For reproducibility and environment isolation, the crawling stage was run inside a Docker Desktop 4.48.0 container derived from python:3.11-slim, whereas the GateNLP stage was conducted in a separate Docker container derived from jupyter/base-notebook:python-3.11.5.
The chunking experiment was run on a Windows 11 computer equipped with an Intel Core i7-13620H processor, 24 GB of memory, and an RTX 5060 Laptop GPU with 8 GB of VRAM, using Python 3.12, PyTorch (version 2.10.0+cu130), and CUDA 13.1. These environments supported the collection of Arabic web content, its subsequent linguistic processing, and the chunking retrieval experiment under controlled execution conditions.

5.2. Evaluation Protocol

The evaluation of the proposed framework adheres to established methodologies in both focused crawling research and corpus-construction studies. The framework was assessed along four primary dimensions: crawl efficiency, filter effectiveness, corpus yield, and chunking quality.
Crawl efficiency was quantified using acquisition and coverage statistics, including the number of URLs, the number of domains covered, crawl speed, and crawl duration. Within this context, the harvest ratio constitutes a key performance indicator, as it captures the proportion of relevant and retained webpages relative to the total volume of crawled content. A high harvest ratio is indicative of effective exclusion of irrelevant material, which is critical for preserving the topical focus of the crawler.
Filter effectiveness was examined through in-crawl quality-control signals, particularly the FastText top-3 predictions and their associated confidence values for both accepted and rejected documents, in order to better understand the linguistic profile of the collected corpus and the behavior of the language filtering stage.
Corpus yield was assessed through corpus structuring statistics, including the number of documents, chunks, tokens, sentences, lemmas, and named entities. Overall, this evaluation design is grounded in prior works on focused web crawling, webpage language identification, deduplication and filtering pipelines, and Arabic web corpus construction while adapting those ideas to a setting in which quality control is integrated into crawling itself rather than applied only after large-scale Common Crawl harvesting.

5.3. Focused Arabic Crawling Experiment

In this study, a focused Arabic web crawling procedure was employed to construct the corpus. The proposed methodology harvested data directly from contemporary Arabic web sources that were selected on the basis of their educational relevance. In particular, four domains and 11 seed URLs related to predefined topics were crawled, as shown in Table 5. The crawler was implemented using a multi-spider architecture, wherein each spider was customized to the structural characteristics of its target website and extracted content via pagination links, category pages, article pages, and AJAX responses, using site-specific, automatically generated XPath expressions.
To ensure stable and ethically compliant crawling behavior, the framework relied on controlled configuration settings regulating request delays, concurrency levels, retry policies, timeout management, and adaptive traffic regulation. These parameters were tuned to achieve an effective trade-off between crawl coverage, politeness, and robustness when interacting with heterogeneous Arabic web sources. To further improve corpus quality, the pipeline integrated the facebook/fasttext-language-identification (https://huggingface.co/facebook/fasttext-language-identification, accessed on 8 June 2026) model [54], as detailed in Section 4.1.4. This model was used to filter out pages that did not contain sufficiently reliable Arabic content, based on two predefined thresholds. Pages that satisfied these criteria were subsequently stored in MongoDB, using two separate collections: one for raw textual data and another for structured metadata. Each stored record included the page URL, title, crawl-related information, and associated metadata, as specified in Section 4.1.5. Additional implementation details, including the primary crawling parameters, are provided in Appendix B (Table A2).

5.4. Sentence-Aware Chunking Evaluation

We conducted a downstream retrieval experiment using a randomly sampled query–document subset from AraEdu-WC. This subset comprised 7505 query–document pairs associated with 500 unique source documents. The queries were generated using llama3.1:8b (https://ollama.com/library/llama3.1:8b, accessed on 8 June 2026) [64]. All generated queries were subject to systematic cleaning and preprocessing to ensure consistency, remove generation artifacts, and standardize formatting prior to evaluation. The exact prompt used for generating synthetic Arabic user queries is provided in Appendix C (Table A3).
For query generation, the model parameters were configured as follows: the temperature was fixed at 0.7 to balance lexical diversity and semantic coherence; top_p was set to 0.9 to restrict token sampling to high-probability candidates; num_predict was set to 500 to cap the maximum output length; and stream was set to False to return each generated response in a single batch. The resulting query set comprises both Modern Standard Arabic (MSA) and Saudi dialect variants, with 4350 MSA queries and 3155 Saudi dialect queries.
The documents were sampled from the four source collections used in AraEdu-WC: Alukah, Shamela, Arabic Wikipedia, and Adab. Appendix D presents Table A4 and Table A5, which summarize and detail the distribution of the dataset employed in the chunking-based retrieval experiment. Furthermore, Table A6 provides examples of synthetic Arabic queries, their corresponding retrieved answers generated by llama3.1:8b, and supporting evidence snippets extracted from the original source documents. These examples encompass both MSA and Saudi dialect queries, thereby illustrating the range of linguistic variation represented in the generated query set. Collectively, they demonstrate the diversity of question formulations and the relevance of the retrieved answers and passages, highlighting the practical capabilities of the proposed retrieval framework in Arabic educational settings.
The proposed sentence-aware strategy was empirically compared against two baseline methods implemented in LangChain. The CharacterTextSplitter was used as a fixed-size, character-level baseline, configured with a chunk size of 1500 characters and zero overlap. The RecursiveCharacterTextSplitter served as a stronger, separator-aware baseline, instantiated with the AraBERT tokenizer, a chunk size of 450 tokens, and no overlap.
We evaluated all chunking strategies using four embedding models: multilingual-E5-large (https://huggingface.co/intfloat/multilingual-e5-large, accessed on 8 June 2026) [65], paraphrase-multilingual-MiniLM-L12-v2 (https://huggingface.co/sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2, accessed on 8 June 2026) [66], Arabic-Triplet-Matryoshka-V2 (https://huggingface.co/Omartificial-Intelligence-Space/Arabic-Triplet-Matryoshka-V2, accessed on 8 June 2026) [67], and Arabic-mpnet-base-all-nli-triplet (https://huggingface.co/Omartificial-Intelligence-Space/Arabic-mpnet-base-all-nli-triplet, accessed on 8 June 2026) [68]. The resulting chunk representations were indexed using FAISS [69], and retrieval performance was measured with ranx [70]. We report standard information retrieval metrics, including Hit Rate@1, @5, and @10; Precision@1, @5, and @10; Recall@1, @5, and @10; as well as MRR@10, MAP@10, and nDCG@10.

6. Results and Discussion

6.1. Crawling Performance

The crawling performance of the four spiders was measured using four metrics: crawl speed, crawl duration, total accepted documents scraped, and average extracted content length.
As shown in Figure 7a, shamela achieved the highest crawl speed at 20.8 items per minute, followed by alukah at 19.6 and arabic_wiki at 17.1. Meanwhile, the adab spider recorded the lowest speed at 13.5 items per minute, which is perhaps explained by the AJAX structure of the target website. These environments use dynamic loading of content which leads to higher latency due to rendering, asynchronous requests and interaction overhead. The extraction throughput is therefore lower than static sources.
Figure 7b shows that alukah, adab, and shamela each crawled for approximately 26.5 h, whereas arabic_wiki completed in 18.3 h. This indicates that the crawl space is more bounded or smaller. The most accepted pages were documented for shamela at 33,019, succeeded by alukah at 31,138, adab at 21,475, and arabic_wiki at 18,789, as shown in Figure 7c. However, volume alone does not capture corpus richness.
Figure 7d shows that alukah produced the longest documents on average at 11,626 bytes, substantially exceeding arabic_wiki at 5295 bytes, shamela at 2877 bytes, and adab at 1618 bytes. To summarize, these results reveal complementary strengths across the spiders: shamela was the most efficient in terms of speed and accepted document yield, whereas alukah contributed richer content per document. The arabic_wiki spider showed balanced performance with a shorter runtime, while adab appears to have been constrained by the more demanding structure of its source.
These findings indicate that crawler performance cannot be reduced to a single measure of efficiency. A spider that maximizes item count may not maximize document richness. Conversely, a spider that runs more slowly may still be valuable if it accesses otherwise difficult but important content. Therefore, crawling and scraping performance is better understood as a multidimensional trade-off among extraction speed, operational cost, corpus yield, and textual quality.
Additional examination details on document rejection by source are provided in Appendix E (Table A7), which summarizes the main reasons for document rejection across spiders and clarifies how source-specific characteristics interacted with the filtering pipeline. A total of 109,633 documents were processed during the crawl. Among them, 104,421 documents were included in the raw data, and 5212 were excluded, resulting in a harvest rate of 95.25% and a drop rate of 4.75%. The crawl-stage harvest ratio was calculated before preprocessing. The overall crawl throughput was 65.7 accepted documents per minute.

6.2. Analysis of FastText Predictions

FastText served as a lightweight quality control layer before more computationally intensive stages such as chunking. Its purpose was not to act as a standalone language-classification benchmark but to reduce unnecessary processing of low-value, irrelevant, or mixed-language pages. This approach was important because the pipeline’s goal was not merely to maximize crawl volume but to improve the quality and usability of the retained Arabic corpus.

6.2.1. Distribution of FastText Top-3 Predictions

As shown in Figure 8a, the accepted documents are predominantly classified as Modern Standard Arabic (MSA) with 104,421 documents assigned this top-1 label. The second- and third-ranked predictions often include other Arabic-script languages such as Persian, Sindhi, Urdu, and South Azerbaijani. This pattern is expected since these languages share script characteristics and partial lexical or orthographic overlap with Arabic. Accordingly, the top-k output should not be interpreted purely as misclassifications but also as evidence that the model distinguishes among closely related script communities while maintaining Arabic as the primary accepted signal.
In contrast, the rejected documents display a markedly different distributional pattern. Figure 8b reveals a substantially higher prevalence of English, Korean, Cantonese, Hindi, and other clearly non-target language labels among the top-ranked predictions. Even when MSA is present, it typically does not constitute the dominant label to a degree sufficient to warrant retention. This pattern suggests that the filter was not merely discarding marginally Arabic content but was also actively removing linguistically inappropriate and mixed-language material. Such findings corroborate the effectiveness of language validation during the crawling process. From a corpus construction standpoint, this behavior is precisely desired: the filtering stage enhances corpus purity by preventing noisy or linguistically ambiguous pages from propagating to subsequent stages of the processing pipeline.

6.2.2. Confidence Score Analysis

The confidence analysis corroborates the interpretation presented above. Figure 9a indicates that the accepted set exhibits extremely high classification confidence for MSA, with a mean top-1 confidence score of 0.999. By contrast, lower-ranked alternative labels within the accepted set generally receive near-zero confidence scores, even when they correspond to closely related Arabic-script languages. This pattern indicates that pages were accepted not simply because Arabic appeared among the top-k predictions, but because it was the dominant label and was assigned consistently high confidence.
Conversely, Figure 9b shows that the discarded subset exhibits a markedly dispersed confidence distribution. In this case, high confidence values are frequently assigned to non-target languages—such as English, Hindi, and Urdu—at the top rank, while the separation between confidence scores at lower ranks is comparatively attenuated. This pattern reflects greater linguistic ambiguity and provides further evidence that the rejected subset contains a substantially higher proportion of non-target language content.

6.2.3. FastText and Rule-Based Filtering Results

To further evaluate the FastText-based language identification component, we conducted an analysis of its outputs generated throughout the crawling and filtering pipelines. In addition, representative samples from the crawl results were subjected to manual inspection in order to assess the adequacy of the selected primary and secondary probability thresholds for the accurate detection of Arabic educational web pages.
Table 6 presents three filtering categories: documents accepted by the primary threshold, documents retained by the secondary threshold, and documents rejected by the filtering rules. The primary threshold prioritizes precision by directly accepting pages where Arabic is the top FastText prediction with a confidence score of at least 0.8. As shown in examples S1–S3, these cases generally correspond to clean Arabic educational content with minimal structural or linguistic noise.
In contrast, the secondary threshold improves recall by retaining valid Arabic pages whose confidence scores may be lowered by web-specific noise, such as HTML or CSS fragments, metadata, citations, embedded English text, or limited code-switching, as illustrated in examples S4–S6. This secondary category facilitates manual inspection by distinguishing critical cases and potentially valid cases from clearly accepted pages. This differentiation enables us to concentrate on pages requiring further verification rather than treating all accepted pages uniformly.
Finally, the rejected examples (S7–S10) demonstrate that the filtering rules exclude pages for several reasons, including cases where Arabic is not detected among the top predictions, the extracted text is too short for reliable language identification, or the content has already been identified as duplicate.
The use of scraped web text for language identification involves an important trade-off between quality and coverage. The accuracy of language identification can be significantly improved by the implementation of more robust preprocessing and quality control methods, such as the removal of boilerplate, normalization, de-duplication, and the filtering of short or noisy pages. This is because the model receives clearer linguistic signals instead of HTML fragments, repeated menus, symbols, or mixed-content noise.
However, aggressive filtering can reduce data diversity and coverage by discarding short but valid documents, code-switched text, multilingual pages, dialectal content, or rare linguistic forms that may still be valuable for training. To address these issues, the dual-threshold strategy offers a practical compromise.
The primary threshold ensures high-precision acceptance of clearly Arabic pages, while the secondary threshold preserves recall for valid Arabic educational documents affected by noise or limited multilingual content. Thus, assembling a corpus requires balancing quality with quantity. Increasing data integrity improves classification reliability downstream, but overly rigorous cleaning risks losing valuable instances and skewing the corpus toward more standard, well-structured text.

6.3. Analysis of the Web Corpus

6.3.1. Corpus Statistics

Table 7 summarizes the scale of the Arabic educational corpus across the main processing layers, including crawling, in-crawl filtering, preprocessing, sentence-aware chunking, and automatic GateNLP-based linguistic annotation. The crawling layer collected 109,633 pages, of which 104,421 documents were accepted during in-crawl filtering. After preprocessing, the final corpus contained 101,770 documents, which were segmented into 286,025 chunks. The GateNLP layer generated linguistic statistics, including 50,366,982 tokens, 289,778 sentences, a vocabulary of 684,221 surface forms, 603,535 unique lemmas, and 3,429,315 named entities. These results demonstrate that the proposed system produced a substantial corpus in terms of volume while also creating a linguistically rich resource for Arabic semantic retrieval and downstream educational search applications.

6.3.2. Sentence and Token Analysis Across Chunks

To assess the structural behavior of the chunking stage, we analyzed both the number of sentences and tokens per chunk. Figure 10a presents the sentence-count distribution, revealing that the vast majority of chunks contain a single sentence (282,459 cases), while 3398 contain two sentences, 151 have three, 15 have four, and only 2 contain five sentences. This pattern indicates that final chunks were typically aligned with single-sentence units, with minimal merging across chunk boundaries.
Figure 10b shows the token-count distribution per chunk. Most chunks fall within a controlled range, with the highest concentration around 200–240 tokens. There is also a lower-frequency spread among shorter chunks and a sharp decline after the main concentration. This suggests that the chunking strategy successfully maintained bounded segment sizes within the specified token constraints. The resulting token-count distribution further indicates that chunk lengths are suitable for downstream transformer-based processing.

6.3.3. Automatic Linguistic Annotation Analysis

The automatic linguistic annotation results further illustrate the internal composition of the corpus. Figure 11a shows the distribution of the top named entity categories. Person-related entities dominate the corpus, with B-PER accounting for 23.60%, E-PER for 21.41%, and I-PER for 20.51% of the top-10 named entity distribution. These are followed by S-PER at 11.87% and location-related entities, such as S-LOC, at 7.11%. This pattern suggests that the corpus contains a substantial amount of person-centered and narrative content, which is consistent with its educational, historical, literary, and religious source material.
Figure 11b shows the distribution of the top 10 POS tags. Nouns are the most frequent category, representing 27.79% of the top-10 POS tags, followed by adpositions at 13.91%, coordinating conjunctions at 11.64%, and verbs at 11.13%. Pronouns, punctuation, particles, and adjectives also appear at notable, even lower, proportions. This distribution is consistent with explanatory and informational texts, where nominal expressions and connective structures are frequently used to organize concepts and discourse. The prominence of nouns, together with the large number of named entities, suggests that the resulting corpus preserves semantically meaningful and structurally rich Arabic content suitable for downstream linguistic analysis.
A notable observation is that 7.79% of tokens were tagged as X, indicating forms that were difficult for the automatic tagger to assign to a more specific universal POS category. These tokens may include foreign proper names, borrowed terms, specialized scientific terminology, or token fragments produced by Arabic tokenization conventions, including the separation of bound morphemes. This result highlights the limitations of fully automatic annotation for heterogeneous Arabic educational web content. Appendix F provides additional material illustrating annotation behavior and lexical diversity in the corpus. Table A8 presents qualitative examples of POS and NER annotation challenges, including X-tag assignments, foreign proper names, borrowed terminology, and domain-specific vocabulary. Figure A1 further illustrates lexical diversity through a TF-IDF word cloud visualization.

6.3.4. Results of the Sentence-Aware Chunking Strategy

To further evaluate the proposed sentence-aware chunking strategy, we assessed the semantic consistency of adjacent chunks using Arabic sentence embeddings. Specifically, chunk embeddings were generated with the GATE-AraBert-v1 model [67], and cosine similarity was calculated for consecutive chunks within the same document.
Figure 12 illustrates the distribution of consecutive-chunk cosine similarity scores. Most scores fall within the moderate to high range, peaking between 0.65 and 0.75. This indicates that consecutive chunks generally maintain meaningful semantic continuity rather than being arbitrarily segmented. Simultaneously, the distribution is not overly concentrated near 1.0, suggesting that consecutive chunks remain distinct textual units rather than redundant overlaps.
Figure 13 presents representative annotated similarity heatmaps for selected documents containing varying numbers of chunks. In these examples, adjacent or nearby chunks generally display higher similarity compared to more distant chunks, while still preserving meaningful variation within each document. These results provide further evidence supporting the validity of the proposed chunking method. The sentence-count and token-count distributions have already demonstrated that the chunking process yields bounded retrieval units, and the embedding-based similarity analysis further indicates that these segmented chunks preserve local semantic continuity across documents.
Table 8 presents the chunk distributions obtained after applying the 20–450 AraBERT token filter, which are essential for interpreting retrieval results, as different chunking methods yield varying numbers and lengths of chunks. CharacterTextSplitter and the proposed sentence-aware method produced nearly identical chunk distributions: CharacterTextSplitter generated 1301 chunks with an average length of 265.33 AraBERT tokens, while the sentence-aware method produced 1291 chunks averaging 263.50 tokens each. This close alignment facilitates direct comparison between the fixed-size baseline and the proposed method.
In contrast, RecursiveCharacterTextSplitter generated fewer chunks with longer passages, with a median length of 449 tokens, likely improving recall metrics by encompassing a broader context in each retrieved chunk.
Retrieval effectiveness was evaluated using the ranx library based on 7476 query-relevance judgments for each chunking strategy. Table 9 presents the retrieval performance of the three chunking strategies across four embedding models. The comparative results reveal notable differences in retrieval effectiveness, both across chunking strategies and among embedding models. The sentence-aware chunking method provides the most consistent improvements in top-k retrieval performance. In particular, it achieves the highest Hit Rate@1, Hit Rate@5, Hit Rate@10, and MRR@10 across all four embedding models. For multilingual-E5-large, the sentence-aware method achieves a Hit Rate@10 of 0.708 and an MRR@10 of 0.577, outperforming both CharacterTextSplitter and RecursiveCharacterTextSplitter.
Despite these strengths, RecursiveCharacterTextSplitter achieves the highest recall scores and, in some cases, slightly higher MAP@10 and nDCG@10, particularly with multilingual-E5-large and Arabic-Triplet-Matryoshka-V2. This advantage stems from its tendency to produce longer segments, as shown in Table 8. Longer chunks frequently capture more document context, increasing the likelihood of retrieving a relevant passage, especially at higher ranks. However, this approach incurs a trade-off in chunk specificity and precision at the top ranks.
A detailed comparison of the embedding models provides further insight. Multilingual-E5-large achieves the best overall performance, likely due to its larger model capacity and multilingual pretraining. Arabic-Triplet-Matryoshka-V2 also performs competitively, highlighting the effectiveness of Arabic-specific triplet-based contrastive training. In contrast, paraphrase-multilingual-MiniLM-L12-v2, which uses smaller 384-dimensional embeddings, and arabic-mpnet-base-all-nli-triplet, despite using 768-dimensional embeddings, achieve lower absolute retrieval scores than the two leading models. Nevertheless, the sentence-aware strategy consistently improves ranking performance over the fixed-size baseline across all evaluated embedding models, indicating that preserving sentence boundaries benefits retrieval regardless of the underlying encoder.
Importantly, the sentence-aware method achieves chunk lengths and document coverage comparable to the fixed-size CharacterTextSplitter, enabling fair comparison and practical deployment. By preserving sentence boundaries, the method increases the likelihood of retrieving relevant passages near the top of the ranked list. This is particularly important for RAG and QA applications, where the quality of top-ranked evidence strongly affects downstream performance.
In summary, the experiments demonstrate that sentence-aware chunking consistently enhances retrieval quality across embedding models and outperforms the fixed-size baseline. While recursive chunking can improve recall by retrieving longer passages, the sentence-aware approach provides a more effective balance of precision, coherence, and downstream utility for Arabic educational retrieval tasks.

7. Limitations and Future Work

7.1. Limitations

Several limitations should be acknowledged. First, the corpus was constructed from a focused set of domains and thus does not offer exhaustive coverage of the Arabic educational web. The framework prioritizes targeted quality and source relevance over unrestricted web-scale breadth. Although AraEdu-WC draws from educationally relevant and structurally diverse Arabic sources, the current version remains limited to a curated set of websites. As a result, the corpus may reflect the topical focus, writing style, and source distribution of these selected platforms.
Second, extraction robustness may vary across websites with unstable layouts or dynamically rendered content, even with AI-assisted XPath support. While the framework improves adaptability, it does not eliminate maintenance requirements when source structures evolve. Although LLM-assisted XPath generation was successfully applied in practice to support multi-site extraction, it was not instrumented as a standalone experimental variable during corpus construction.
Third, linguistic annotation remains automatic and inherits model uncertainty, as indicated by the skewed proportion of tokens assigned to the X tag. A further limitation is the absence of manually verified gold-standard annotations in the current version of AraEdu-WC. The POS tags, lemmas, and named entities in the corpus were generated automatically using state-of-art NLP tools. Although Appendix F provides qualitative examples of annotation challenges, manually verified gold-standard annotations are not included. These automatic annotations, while useful for exploratory analysis, may vary in accuracy across domains and text types.
Fourth, we evaluated the proposed sentence-aware strategy against two baselines using four different embedding models. The results emphasize the necessity of careful dataset-specific calibration. The selected 20–450 AraBERT-token range was determined by manual inspection of AraEdu-WC chunks, not as a generalizable standard. This finding aligns with prior work that emphasizes that dataset characteristics significantly influence retrieval behavior and chunk-size effectiveness [60,71]. For other domains, such as legal, biomedical, or conversational educational data, the minimum and maximum token thresholds may require adjustment.
Additionally, the evaluation is limited by the absence of a comprehensive Arabic long-document chunking benchmark. Bhat et al. [71] similarly highlight that existing datasets may not fully capture real-world retrieval scenarios and that some benchmarks lack detailed relevance annotations or rely on synthetic structures. In this study, available Arabic datasets did not include long educational documents paired with human-written queries, graded relevance judgments, and human-labeled evidence sentences. As a result, we employed a controlled query-document subset from AraEdu-WC with generated queries. While this approach enables a practical and reproducible evaluation, future work should focus on developing Arabic long-document benchmarks featuring human-authored queries and evidence annotations to more directly assess chunk quality.
Finally, the experiments were designed to evaluate the framework as a corpus construction pipeline rather than as a benchmark crawler. Consequently, the reported results should be interpreted primarily in terms of practical corpus engineering value, encompassing acquisition quality, structuring, and downstream usability.

7.2. Future Work

Several directions can be pursued to extend this work. First, AraEdu-WC could be expanded by incorporating additional Arabic educational sources, such as university repositories, governmental educational platforms, MOOCs, and interactive learning environments. This expansion would enhance topic coverage, mitigate source distribution bias, and further assess the adaptability of ArabicEduCrawler across diverse website structures.
Second, future work should create a manually verified subset of AraEdu-WC to evaluate the quality of annotations, including POS tagging, lemmatization, and named entity recognition. Such a resource would enable more systematic error analysis and serve as a valuable benchmark for Arabic educational NLP.
Third, retrieval evaluation can be advanced by constructing an Arabic long-document educational benchmark that includes human-written queries, graded relevance judgments, and evidence annotations.
Finally, the resulting corpus facilitates a range of downstream applications, including Arabic semantic retrieval, retrieval-augmented generation (RAG), and question-answering (QA) systems. In this regard, ArabicEduCrawler provides both a practical resource and a methodological foundation for future research in Arabic NLP and information access.

8. Conclusions

The limitations of Arabic educational search extend beyond retrieval effectiveness to include the scarcity of domain-specific corpora constructed through reproducible, NLP-oriented collection pipelines. While much previous Arabic NLP research relies on pre-existing datasets, less attention has been paid to systems that acquire domain-specific web content and transform heterogeneous online materials into structured resources. This paper addresses that gap by presenting ArabicEduCrawler, an integrated framework for extracting, processing, and constructing Arabic educational content.
We introduced ArabicEduCrawler, an AI-assisted focused crawling framework for constructing Arabic educational web corpora from heterogeneous online sources. The framework moves beyond simple page collection by integrating focused crawling, Arabic-aware language filtering, LLM-assisted XPath generation and validation, metadata preservation, text cleaning, sentence-aware chunking, and automatic linguistic enrichment within a unified corpus-engineering workflow. By incorporating GateNLP and Stanza for automatic annotation, the system produces a structured and reusable corpus that supports downstream Arabic NLP and retrieval applications. In this work, corpus acquisition is treated as a central methodological contribution rather than as a preliminary preprocessing step.
In our experiments, the framework collected content from four source domains using 11 seed URLs, resulting in a final retained corpus of 101,770 source documents. After preprocessing and segmentation, this corpus yielded 286,025 chunks, comprising 50,366,982 tokens and 289,778 sentences. The resulting dataset contains 684,221 vocabulary terms, 603,535 distinct lemmas, and 3,429,315 named entities. Additionally, the chunking evaluation demonstrated that sentence-aware segmentation preserved local semantic continuity across adjacent chunks.
The downstream chunking evaluation further demonstrates the effectiveness of the proposed sentence-aware strategy for Arabic educational retrieval. Compared to the fixed-size Character Text Splitter and Recursive Character Text Splitter baselines, the sentence-aware method achieved the highest Hit Rate@1, @5, @10; Precision@1, @5, @10; and MRR@10 across four embedding models. These results indicate that preserving sentence boundaries enables the retrieval of relevant evidence closer to the top of the ranked list. At the same time, the comparison reveals that longer recursive chunks can improve recall-oriented metrics, highlighting a trade-off between compact, top-ranked evidence and broader contextual coverage. Overall, sentence-aware chunking offers a practical balance among coherence, compactness, and retrieval effectiveness for Arabic educational corpora.
The evaluation also demonstrates the framework’s value across three practical dimensions. First, regarding crawl efficiency, a small but targeted seed configuration proved sufficient to generate a substantial educational corpus. Second, in terms of filtering effectiveness, Arabic-aware filtering and acquisition-stage quality control successfully reduced untargeted and low-value content prior to subsequent processing. Third, with respect to corpus development, the system went beyond mere page collection by transforming content into a structured resource for retrieval and analysis, preserving metadata, producing cleaned text, and enabling chunk-level representation.
Overall, the experimental results demonstrate that the proposed approach can transform heterogeneous live web sources into a structured, reusable, and practical Arabic educational corpus for downstream NLP and retrieval tasks.

Author Contributions

Conceptualization, A.A.A.; methodology, A.A.A.; software, A.A.A.; validation, A.A.A.; formal analysis, A.A.A.; investigation, A.A.A.; resources, A.A.A.; data curation, A.A.A.; writing—original draft preparation, A.A.A.; writing—review and editing, A.A.A.; visualization, A.A.A.; supervision, F.B. and W.A.; project administration, F.B. and W.A. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The AraEdu-WC dataset presented in the study is openly available in Zenodo repository at https://doi.org/10.5281/zenodo.19996296, (accessed on 8 June 2026).

Acknowledgments

The project was funded by KAU Endowment (WAQF) at king Abdulaziz University, Jeddah, Saudi Arabia. The authors, therefore, acknowledge with thanks WAQF and the Deanship of Scientific Research (DSR) for technical and financial support.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
AIArtificial Intelligence
NLPNatural Language Processing
GATEGeneral Architecture for Text Engineering
LLMsLarge Language Models
PLMPre-trained Language Model
XPathXML Path Language
HTMLHyperText Markup Language
MSAModern Standard Arabic

Appendix A. Prompt for Generating XPath Expressions

Table A1. Prompt for generating XPath expressions.
Table A1. Prompt for generating XPath expressions.
ComponentPrompt
RoleYou are a professional software engineer specialized in web scraping and HTML parsing.
TaskYour task is to analyze the HTML code provided by the user and generate robust XPath expressions that extract the requested target values.
Instructions1. Carefully read the provided HTML snippet.
2. Identify structural patterns surrounding the target value.
3. Generate XPath expressions that reliably locate the target element.
4. Avoid hardcoding exact text values.
5. Use contains(., ’value’) instead of text()=’value’.
6. Prefer contains(@class, ’…’) and contains(@id, ’…’) over strict equality.
7. Ensure the XPath is robust against:
- Additional classes being added
- Minor ID changes
- Extra wrapper elements
Output FormatOutput only the XPath expressions, clearly labeled by target field.
InputHTML snippet provided by the user.

Appendix B. Crawling Parameter Setup with Scrapy–Playwright

Table A2. Main Parameters and Configuration of the Scrapy-Playwright Crawling Pipeline.
Table A2. Main Parameters and Configuration of the Scrapy-Playwright Crawling Pipeline.
ParameterValuePurpose
Browser TypeChromium (headless)Dynamic page rendering
ROBOTSTXT_OBEYTrueCrawl policy compliance
DOWNLOAD_DELAY2.0 sRequest delay rate
RANDOMIZE_DOWNLOAD_DELAYTrueReduced timing regularity
CONCURRENT_REQUESTS16Total request limit
CONCURRENT_REQUESTS_PER_DOMAIN8Per-domain request limit
CONCURRENT_REQUESTS_PER_IP8Per-IP request limit
AUTOTHROTTLE_ENABLEDTrueAutomatically throttling crawling speed based on server response
AUTOTHROTTLE_TARGET_CONCURRENCY2.0Limits server load
RETRY_ENABLEDTrueFailed request recovery
RETRY_TIMES3Retry limit per request
DOWNLOAD_TIMEOUT30 sResponse wait limit
HTTPCACHE_ENABLEDTrueResponse caching
HTTPCACHE_EXPIRATION_SECS86,400 sCache duration period (24 h)

Appendix C. Prompt for Generating Synthetic Arabic Questions

Table A3. Prompt for generating Arabic user questions from educational documents.
Table A3. Prompt for generating Arabic user questions from educational documents.
ComponentPrompt
RoleYou are an AI assistant tasked with generating exactly 6 realistic Arabic user questions based on educational documents.
TaskGenerate questions strictly based on the provided document excerpt.
Instructions1. Questions must be answerable using ONLY the information in the excerpt.
2. Do not assume or use external knowledge.
3. Do not ask about information not explicitly stated in the document.
4. Generate at least 2 questions in Modern Standard Arabic (dialect: “msa”).
5. Generate at least 2 questions in Saudi dialect (dialect: “saudi”).
6. Include the exact snippet in “location” that answers each question.
7. Focus on concrete facts, not interpretation or opinion.
Output FormatOutput must be ONLY a single valid JSON object with the following structure:
{
“questions”: [
{
“question_id”: 1,
“question”: “question text”,
“location”: “Quote from excerpt that contains the answer”,
“dialect”: “msa | saudi”
}
]
}
InputDocument excerpt provided by the user.

Appendix D. Dataset Details for the Chunking Retrieval Experiment

Table A4. Summary of the query-document subset used in the chunking retrieval experiment.
Table A4. Summary of the query-document subset used in the chunking retrieval experiment.
StatisticValue
Query-document pairs7505
Unique source documents500
Query generation modelllama3.1:8b
MSA queries4350
Saudi dialect queries3155
Table A5. Source and dialect distribution of the query-document subset.
Table A5. Source and dialect distribution of the query-document subset.
SourceTotal PairsMSASaudi Dialect
Alukah373122151516
Shamela1236694542
Arabic Wikipedia1535892643
Adab1003549454
Total750543503155
Table A6. Examples of synthetic Arabic queries (MSA and Saudi dialect), retrieved answers generated by llama3.1:8b, and supporting document snippets from the AraEdu-WC dataset.
Table A6. Examples of synthetic Arabic queries (MSA and Saudi dialect), retrieved answers generated by llama3.1:8b, and supporting document snippets from the AraEdu-WC dataset.
Ex.DialectQueryRetrieved AnswerDocument Snippet
E1Saudiما عدد العينات التي تم جمعها
من القمر خلال برنامج أبوللو؟
How many samples were collected
from the moon during the Apollo program?
تم تجميع ٣٤٨ كجم
من العينات من القمر
A total of 348 kg of samples
were collected from the moon.
وفي فترة برنامج الفضاء أبوللو
تم تجميع ٣٤٨ كجم من العينات
من القمر
During the Apollo space program,
348 kg of samples were collected
from the moon.
Saudiما هو اسم البرنامج الذي تم خلاله
تجميع العينات من القمر؟
What is the name of the program
during which the moon samples
were collected?
في فترة برنامج الفضاء أبوللو
تم تجميع ٣٤٨ كجم من العينات
من القمر
During the Apollo space program,
348 kg of samples were collected
from the moon.
وفي فترة برنامج الفضاء أبوللو
تم تجميع ٣٤٨ كجم من العينات
من القمر
During the Apollo space program,
348 kg of samples were collected
from the moon.
MSAمن هو عالم الفلك الذي اكتشف
الأقمار الأربعة في المشتري؟
Who is the astronomer who discovered
Jupiter’s four moons?
وفي هذا الإتجاه نجد أن عالم الفلك
الكوكبي الأول هو جاليليو جاليلي
In this context, the first planetary
astronomer is Galileo Galilei.
عالم الفلك الكوكبي الأول هو
جاليليو جاليلي الذي اكتشف
الأقمار الأربعة في المشترى
The first planetary astronomer
is Galileo Galilei, who discovered
Jupiter’s four moons.
MSAكيف يتم حل شفرة تاريخ
سطح الكوكب؟
How is the chronology of
a planet’s surface decoded?
يتم حل شفرة تاريخ سطح الكوكب
عن طريق وضع خرائط جيولوجية
للمعالم الموجودة عليه من القمة إلى القاع
طبقا لتتابع الطبقات وترتيبها
The chronology of a planet’s surface
is decoded by creating geological maps
of its features from top to bottom,
according to the order and succession
of layers.
يتم حل شفرة تاريخ سطح الكوكب
عن طريق وضع خرائط جيولوجية
للمعالم الموجودة عليه من القمة إلى القاع
طبقا لتتابع الطبقات وترتيبها
The chronology of a planet’s surface
is decoded by creating geological maps
of its features from top to bottom,
according to the order and succession
of layers.
E2Saudiمتى طور برنامج فيورستين
التعليمي الإغنائي؟
When was the Feuerstein
Instrumental Enrichment program developed?
برنامج فيورستين التعليمي
الإغنائي، ١٩٨٠
The Feuerstein Instrumental
Enrichment program, 1980.
وبرنامج فيورستين التعليمي
الإغنائي، ١٩٨٠
And the Feuerstein Instrumental
Enrichment program, 1980.
Saudiمين اللي بنزل برنامج
الفلسفة للأطفال؟
Who introduced the Philosophy
for Children program?
برنامج الفلسفة للأطفال
Philosophy for Children program.
برنامج الفلسفة للأطفال للبمان
Lipman’s Philosophy for
Children program.
MSAكم عدد وحدات برنامج كورت؟
How many units are in
the CoRT program?
يتكون برنامج كورت
من ست وحدات تعليمية
The CoRT program consists
of six educational units.
يتكون برنامج كورت من ست وحدات تعليمية
تعطي جوانب عديدة للتفكير
The CoRT program consists of six
educational units that address
various aspects of thinking.
MSAمن هو مؤلف برنامج البناء
العقلي لجيلفورد؟
Who is the author of Guilford’s
Structure of Intellect program?
برنامج البناء العقلي لجيلفورد،
الذي طورته الباحثة ميكر، ١٩٦٩
Guilford’s Structure of Intellect program,
which was developed by researcher Meeker in 1969.
ومن بين البرامج المعروفة التي تمثل
اتجاه العمليات المعرفية برنامج البناء
العقلي لجيلفورد، الذي طورته
الباحثة ميكر، ١٩٦٩
Among the well-known programs representing
the cognitive operations approach is Guilford’s
Structure of Intellect program, which was developed
by researcher Meeker in 1969.

Appendix E. Distribution of Drop Reasons Across Spiders

Table A7. Counts of dropped documents by spider and filtering reason.
Table A7. Counts of dropped documents by spider and filtering reason.
SourceToo ShortDuplicate URLNon-Arabic Detected 1Non-Arabic Detected 2Total Dropped
Alukah44780360184695
Arabic Wiki11041530231
Shamela10473583
Adab0014115
Total4480104574545212
1 Arabic was not confidently detected. 2 The text was too short for reliable language identification.

Appendix F. Corpus Automatic Annotation Challenges and Lexical Visualization

Table A8. Qualitative examples of POS and NER annotation challenges in the linguistic annotation pipeline.
Table A8. Qualitative examples of POS and NER annotation challenges in the linguistic annotation pipeline.
No.TitleText SampleTokenUPOSLemmaNERAnnotation Observation
1الأدب بين نفس
المروءة ولهاث الإثارة
لم يكن الأدب العربي بشقيه
المنظوم والمنثور إلا مرآة
لروح صاحبه، وصورة حية
لخلجات نفسه… كما تساءل
ابن قتيبة في أدب الكاتب
لمPARTلَمOPOS ambiguity in proper names.
NER correctly detects ابن قتيبة as PER,
but UPOS assigns X to both name tokens.
This suggests difficulty with historical Arabic
names in literary texts.
يكنVERBكَانO
الأدبNOUNأَدَبO
العربيADJعَرَبِيّO
ابنXابنB-PER
قتيبةXقتيبةE-PER
2منهج القرآن الكريم
في تنمية التفكير التأملي
الخاتمة: يبرهن القرآن الكريم
على أن التفكير التأملي ليس
ترفا ذهنيا، بل ضرورة تربوية
لصناعة إنسان مسؤول وقادر
على اتخاذ قرارات مستنيرة
الخاتمةNOUNخَاتِمَةOThe religious phrase is treated
as lexical material, not a named entity. This is not
necessarily incorrect, but scripture and
religious references may need clearer
NER guidelines.
يبرهنVERBأَبرَهO
القرآنNOUNقُرآنO
الكريمADJكَرِيمO
التفكيرNOUNتَفكِيرO
3 فروع الكيمياء ويدرس بنية وخواص وتفاعلات
المركبات والمواد العضوية
التي تحتوي على عنصر الكربون
ووضع ميخائيل لومونوسوف
كتابا في الكيمياء الفيزيائية
الكربونNOUNكَربُونS-MISCPOS ambiguity in foreign names.
ميخائيل لومونوسوف is detected as PER,
but assigned X in UPOS. This suggests
difficulty tagging foreign proper names
in scientific text.
ميخائيلXمِيخَائِيلB-PER
لومونوسوفXلومونوسوفE-PER
الكيمياءNOUNكِيمِيَاءB-MISC
الفيزيائيةADJفِيزِيَائِيّE-MISC
4فورميمينو
ثلاثي هيدروفولات
فورميمينو ثلاثي هيدروفولات
هو مركب وسطي ينتج من
عملية الهدم للحمض الأميني
هستيدين بوساطة الغلوتاميت
فورماميدويلترانسفيريز
فورميمينوXفورميمينوS-MISCBiomedical terms are mostly tagged
as X in UPOS and MISC in NER.
Main issue: specialized chemical
and biochemical vocabulary lacks
fine-grained entity categories.
هيدروفولاتXهيدروفولاتS-MISC
هستيدينXهستيدينS-MISC
الغلوتاميتXالغلوتاميتS-MISC
سايكلوديامينيزXسايكلوديامينيزS-MISC
5أثر التناقض
اللفظي في المعنى
هو أسلوب أدبي يجمع بين
كلمتين متناقضتين ظاهريا
لتشكيل مفهوم مثير للتفكير
كلمة أوكسيمورون مشتقة
من أوكسيس وموروس
هوPRONهُوَOPOS variation in borrowed terms.
Terms such as أوكسيمورون, أوكسيس,
and موروس are labeled as MISC, while UPOS
varies between X and NOUN. This suggests
ambiguity in assigning POS tags to foreign-origin
or borrowed technical terms in Arabic text.
أسلوبNOUNأُسلُوبO
أدبيADJدِبِّيّO
يجمعVERBجَمَعO
أوكسيمورونXأوكسيمورونS-MISC
أوكسيسXأوكسيسS-MISC
موروسNOUNمَورُوسS-MISC
Note. UPOS refers to the universal part-of-speech tag; NER refers to the named entity recognition label. B, I, E, S, and O denote beginning, inside, end, single-token entity, and outside entity, respectively. PER, LOC, and MISC refer to person, location, and miscellaneous entity types. The tag X indicates that the token was not assigned to a more specific universal POS category. These examples summarize common annotation challenges, including morphological ambiguity, tokenization issues, borrowed terminology, foreign proper names, and domain-specific vocabulary.
Figure A1. TF-IDF weighted word cloud of the corpus, showing high-frequency lexical terms. The Arabic words displayed in the figure represent the most important terms in the corpus based on their TF-IDF weights.
Figure A1. TF-IDF weighted word cloud of the corpus, showing high-frequency lexical terms. The Arabic words displayed in the figure represent the most important terms in the corpus based on their TF-IDF weights.
Applsci 16 05964 g0a1

References

  1. Kaplan, J.; McCandlish, S.; Henighan, T.; Brown, T.B.; Chess, B.; Child, R.; Gray, S.; Radford, A.; Wu, J.; Amodei, D. Scaling laws for neural language models. arXiv 2020, arXiv:2001.08361. [Google Scholar] [CrossRef] [Scilit]
  2. Bommasani, R.; Hudson, D.A.; Adeli, E.; Altman, R.; Arora, S.; von Arx, S.; Bernstein, M.S.; Bohg, J.; Bosselut, A.; Brunskill, E.; et al. On the opportunities and risks of foundation models. arXiv 2021, arXiv:2108.07258. [Google Scholar] [CrossRef] [Scilit]
  3. Rae, J.W.; Borgeaud, S.; Cai, T.; Millican, K.; Hoffmann, J.; Song, F.; Aslanides, J.; Henderson, S.; Ring, R.; Young, S.; et al. Scaling language models: Methods, analysis & insights from training gopher. arXiv 2021, arXiv:2112.11446. [Google Scholar]
  4. Common Crawl Foundation. Common Crawl. 2007. Available online: https://commoncrawl.org/ (accessed on 19 April 2026).
  5. Wenzek, G.; Lachaux, M.A.; Conneau, A.; Chaudhary, V.; Guzmán, F.; Joulin, A.; Grave, E. CCNet: Extracting high quality monolingual datasets from web crawl data. In Proceedings of the Twelfth Language Resources and Evaluation Conference, Marseille, France, 11–16 May 2020; pp. 4003–4012. [Google Scholar]
  6. Raffel, C.; Shazeer, N.; Roberts, A.; Lee, K.; Narang, S.; Matena, M.; Zhou, Y.; Li, W.; Liu, P.J. Exploring the limits of transfer learning with a unified text-to-text transformer. J. Mach. Learn. Res. 2020, 21, 1–67. [Google Scholar]
  7. Suárez, P.J.O.; Sagot, B.; Romary, L. Asynchronous pipeline for processing huge corpora on medium to low resource infrastructures. In Proceedings of the 7th Workshop on the Challenges in the Management of Large Corpora (CMLC-7); Leibniz-Institut für Deutsche Sprache: Mannheim, Germany, 2019. [Google Scholar]
  8. Penedo, G.; Kydlíček, H.; Ben allal, L.; Lozhkov, A.; Mitchell, M.; Raffel, C.; Von Werra, L.; Wolf, T. The fineweb datasets: Decanting the web for the finest text data at scale. Adv. Neural Inf. Process. Syst. 2024, 37, 30811–30849. [Google Scholar]
  9. Hawasly, M.; Mohiuddin, M.T.; Mubarak, H.; Boughorbel, S. ArabicWeb-Edu: Educational Quality Data for Arabic LLM Training. In Proceedings of the Third Arabic Natural Language Processing Conference, Suzhou, China, 8–9 November 2025; pp. 436–447. [Google Scholar]
  10. Roziewski, S.; Kozłowski, M. LanguageCrawl: A generic tool for building language models upon common Crawl. Lang. Resour. Eval. 2021, 55, 1047–1075. [Google Scholar] [CrossRef] [Scilit]
  11. Dodge, J.; Sap, M.; Marasović, A.; Agnew, W.; Ilharco, G.; Groeneveld, D.; Mitchell, M.; Gardner, M. Documenting large webtext corpora: A case study on the colossal clean crawled corpus. In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, Punta Cana, Dominican Republic, 7–11 November 2021; pp. 1286–1305. [Google Scholar]
  12. Kreutzer, J.; Caswell, I.; Wang, L.; Wahab, A.; Van Esch, D.; Ulzii-Orshikh, N.; Tapo, A.; Subramani, N.; Sokolov, A.; Sikasote, C.; et al. Quality at a Glance: An Audit of Web-Crawled Multilingual Datasets. Trans. Assoc. Comput. Linguist. 2022, 10, 50–72. [Google Scholar] [CrossRef] [Scilit]
  13. Remus, S.; Biemann, C. Domain-Specific Corpus Expansion with Focused Webcrawling. In Proceedings of the Tenth International Conference on Language Resources and Evaluation (LREC’16), Portorož, Slovenia, 23–28 May 2016; pp. 3607–3611. [Google Scholar]
  14. Antoun, W.; Baly, F.; Hajj, H. AraBERT: Transformer-based Model for Arabic Language Understanding. In Proceedings of the 4th Workshop on Open-Source Arabic Corpora and Processing Tools, with a Shared Task on Offensive Language Detection, Marseille, France, 11–16 May 2020; pp. 9–15. [Google Scholar]
  15. Abdallah, A.; Kasem, M.; Abdalla, M.; Mahmoud, M.; Elkasaby, M.; Elbendary, Y.; Jatowt, A. Arabicaqa: A comprehensive dataset for arabic question answering. In Proceedings of the 47th International ACM SIGIR Conference on Research and Development in Information Retrieval, Washington, DC, USA, 14–18 July 2024; pp. 2049–2059. [Google Scholar]
  16. Bhatia, G.; Nagoudi, E.M.B.; El Mekki, A.; Alwajih, F.; Abdul-Mageed, M. Swan and ArabicMTEB: Dialect-Aware, Arabic-Centric, Cross-Lingual, and Cross-Cultural Embedding Models and Benchmarks. In Proceedings of the Findings of the Association for Computational Linguistics: NAACL 2025, Albuquerque, NM, USA, 29 April–4 May 2025; pp. 4669–4685. [Google Scholar] [CrossRef] [Scilit]
  17. Olston, C.; Najork, M. Web Crawling. Found. Trends Inf. Retr. 2010, 4, 175–246. [Google Scholar] [CrossRef] [Scilit]
  18. Liu, B.; Menczer, F. Web Crawling. In Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data; Springer: Berlin/Heidelberg, Germany, 2011; pp. 311–362. [Google Scholar] [CrossRef] [Scilit]
  19. Zhai, C.; Massung, S. Text Data Management and Analysis: A Practical Introduction to Information Retrieval and Text Mining; Association for Computing Machinery and Morgan & Claypool: New York, NY, USA, 2016. [Google Scholar] [CrossRef] [Scilit]
  20. Kumar, M.; Bhatia, R.; Rattan, D. A Survey of Web Crawlers for Information Retrieval. WIREs Data Min. Knowl. Discov. 2017, 7, e1218. [Google Scholar] [CrossRef] [Scilit]
  21. Manning, C.; Raghavan, P.; Schuetze, H. Introduction to Information Retrieval; Cambridge University Press: Cambridge, UK, 2009. [Google Scholar]
  22. Diouf, R.; Sarr, E.N.; Sall, O.; Birregah, B.; Bousso, M.; Mbaye, S.N. Web Scraping: State-of-the-Art and Areas of Application. In Proceedings of the 2019 IEEE International Conference on Big Data (Big Data), Los Angeles, CA, USA, 9–12 December 2019; pp. 6040–6042. [Google Scholar] [CrossRef] [Scilit]
  23. Ayuso, E.; Dumfeh Brogya, M.S.; Kumar Ahlawat, V.; Sain, M. From Manual to Machine: How AI Is Redefining Web Scraping for Superior Efficiency: A Literature Review. In Proceedings of the 2024 International Conference on Communication, Control, and Intelligent Systems (CCIS), Mathura, India, 6–7 December 2024; pp. 1–9. [Google Scholar] [CrossRef] [Scilit]
  24. Obeid, O.; Zalmout, N.; Khalifa, S.; Taji, D.; Oudah, M.; Alhafni, B.; Inoue, G.; Eryani, F.; Erdmann, A.; Habash, N. CAMeL Tools: An Open Source Python Toolkit for Arabic Natural Language Processing. In Proceedings of the Twelfth Language Resources and Evaluation Conference, Marseille, France, 13–15 May 2020; pp. 7022–7032. [Google Scholar]
  25. Habash, N.; Soudi, A.; Buckwalter, T. On arabic transliteration. In Arabic Computational Morphology: Knowledge-Based and Empirical Methods; Springer: Berlin/Heidelberg, Germany, 2007; pp. 15–22. [Google Scholar]
  26. Boudchiche, M.; Mazroui, A.; Bebah, M.O.A.O.; Lakhouaja, A.; Boudlal, A. AlKhalil Morpho Sys 2: A robust Arabic morpho-syntactic analyzer. J. King Saud Univ. Comput. Inf. Sci. 2017, 29, 141–146. [Google Scholar] [CrossRef] [Scilit]
  27. Jarrar, M.; Zaraket, F.; Asia, R.; Amayreh, H. Diacritic-based matching of arabic words. ACM Trans. Asian Low-Resour. Lang. Inf. Process. (TALLIP) 2018, 18, 10. [Google Scholar] [CrossRef] [Scilit]
  28. Alothman, A.; Alsalman, A. Arabic morphological analysis techniques. Int. J. Adv. Comput. Sci. Appl. 2020, 11, 214–222. [Google Scholar] [CrossRef] [Scilit]
  29. Hossain, M.R.; Hoque, M.M.; Siddique, N.; Dewan, M.A.A. AraCovTexFinder: Leveraging the transformer-based language model for Arabic COVID-19 text identification. Eng. Appl. Artif. Intell. 2024, 133, 107987. [Google Scholar] [CrossRef] [Scilit]
  30. Mahi, G.S.; Verma, A. Development of Focused Crawlers for Building Large Punjabi News Corpus. J. Ict Res. Appl. 2021, 15, 205–215. [Google Scholar] [CrossRef] [Scilit]
  31. Zhang, J.; Su, K.; Tian, Y.; Matsumoto, T. WCC-EC 2.0: Enhancing neural machine translation with a 1.6 M+ web-crawled English-Chinese parallel corpus. Electronics 2024, 13, 1381. [Google Scholar] [CrossRef] [Scilit]
  32. de Jesus, G.; Nunes, S.S. Data Collection Pipeline for Low-Resource Languages: A Case Study on Constructing a Tetun Text Corpus. In Proceedings of the 2024 Joint International Conference on Computational Linguistics, Language Resources and Evaluation (LREC-COLING 2024), Torino, Italy, 20–25 May 2024; pp. 4368–4380. [Google Scholar]
  33. Tahir, B.; Mehmood, M.A. Corpulyzer: A novel framework for building low resource language corpora. IEEE Access 2021, 9, 8546–8563. [Google Scholar] [CrossRef] [Scilit]
  34. Marquard, C.; Suleman, H. Focused Crawling for Automated IsiXhosa Corpus Building. In Proceedings of the South African Institute of Computer Scientists and Information Technologists, Pretoria, South Africa, 17–19 July 2023; pp. 19–31. [Google Scholar]
  35. Mehmood, M.A.; Tahir, B. Humkinar: Construction of a large scale web repository and information system for low resource Urdu language. IEEE Access 2024, 12, 128404–128423. [Google Scholar] [CrossRef] [Scilit]
  36. Fahrudin, T.M.; Funabiki, N.; Brata, K.C.; Naing, I.; Aung, S.T.; Muhaimin, A.; Prasetya, D.A. An improved reference paper collection system using web scraping with three enhancements. Future Internet 2025, 17, 195. [Google Scholar] [CrossRef] [Scilit]
  37. Mutlu, M.A.; Ulku, E.E.; Yildiz, K. A web scraping app for smart literature search of the keywords. PeerJ Comput. Sci. 2024, 10, e2384. [Google Scholar] [CrossRef] [Scilit]
  38. Ampadi Ramachandran, R.; Tell, L.A.; Rai, S.; Millagaha Gedara, N.I.; Xu, X.; Riviere, J.E.; Jaberi-Douraki, M. An Automated Customizable Live Web Crawler for Curation of Comparative Pharmacokinetic Data: An Intelligent Compilation of Research-Based Comprehensive Article Repository. Pharmaceutics 2023, 15, 1384. [Google Scholar] [CrossRef] [Scilit]
  39. Barwary, M.J.; Jacksi, K.; Al-Zebari, A. Constructing a multilingual e-learning ontology through web crawling and scraping. Int. J. Commun. Netw. Inf. Secur. 2023, 15, 137–153. [Google Scholar] [CrossRef] [Scilit]
  40. Wang, Y. Visual Analysis of Finance Courses on Chinese University MOOC Platform Based on Web Crawler. In Proceedings of the 6th International Conference on Digital Technology in Education, Hangzhou, China, 16–18 September 2022; pp. 310–315. [Google Scholar]
  41. Aljemazi, M.A.; Khder, M.A. Octobot-Web Scarping towards retrieving Google Scholar Data. In Proceedings of the 2022 ASU International Conference in Emerging Technologies for Sustainability and Intelligent Systems (ICETSIS), Virtual, 22–23 June 2022; pp. 477–482. [Google Scholar]
  42. Alrashed, S.; Khizbullin, D.; Pugh, D.R. Fineweb-Edu-Ar: Machine-translated corpus to support Arabic small language models. arXiv 2024, arXiv:2411.06402. [Google Scholar]
  43. Aloui, M.; Chouikhi, H.; Chaabane, G.; Kchaou, H.; Dhaouadi, C. 101 billion arabic words dataset. arXiv 2024, arXiv:2405.01590. [Google Scholar] [CrossRef] [Scilit]
  44. El-Hmed, S.B.A. Alukah Network. 2006. Available online: https://www.alukah.net (accessed on 27 February 2026).
  45. Adab Foundation. World Encyclopedia of Arabic Literature. 1999. Available online: https://www.adab.com (accessed on 27 February 2026).
  46. Al-Maktaba Al-Shamela Foundation. Al-Maktaba al-Shamela, Digital Library. 2005. Available online: https://shamela.ws (accessed on 27 February 2026).
  47. Wikipedia Contributors. Arabic Wikipedia. 2003. Available online: https://ar.wikipedia.org (accessed on 27 February 2026).
  48. World Wide Web Consortium (W3C). XML Path Language (XPath) Version 1.0. 1999. Available online: https://www.w3.org/TR/1999/REC-xpath-19991116/ (accessed on 19 April 2026).
  49. Darmawan, I.; Maulana, M.; Gunawan, R.; Widiyasono, N. Evaluating web scraping performance using XPath, CSS selector, regular expression, and HTML DOM with multiprocessing technical applications. JOIV Int. J. Inform. Vis. 2022, 6, 904–910. [Google Scholar] [CrossRef] [Scilit]
  50. Huang, J.; Song, J. Automatic XPath generation agents for vertical websites by LLMs. J. King Saud Univ. Comput. Inf. Sci. 2025, 37, 74. [Google Scholar] [CrossRef] [Scilit]
  51. Li, Y.; Wang, B.; Luan, X. Xpath agent: An efficient xpath programming agent based on llm for web crawler. arXiv 2024, arXiv:2502.15688. [Google Scholar] [CrossRef] [Scilit]
  52. Scrapy Developers. Architecture Overview. Available online: https://docs.scrapy.org/en/latest/topics/architecture.html (accessed on 19 April 2026).
  53. Joulin, A.; Grave, E.; Bojanowski, P.; Douze, M.; Jégou, H.; Mikolov, T. FastText.zip: Compressing text classification models. arXiv 2016, arXiv:1612.03651. [Google Scholar]
  54. Joulin, A.; Grave, E.; Bojanowski, P.; Mikolov, T. fastText Language Identification, 2024. Available online: https://github.com/facebookresearch/fastText (accessed on 19 April 2026).
  55. Bojanowski, P.; Grave, E.; Joulin, A.; Mikolov, T. Enriching word vectors with subword information. Trans. Assoc. Comput. Linguist. 2017, 5, 135–146. [Google Scholar] [CrossRef] [Scilit]
  56. Penedo, G.; Malartic, Q.; Hesslow, D.; Cojocaru, R.; Cappelli, A.; Alobeidli, H.; Pannier, B.; Almazrouei, E.; Launay, J. The RefinedWeb dataset for Falcon LLM: Outperforming curated corpora with web data, and web data only. arXiv 2023, arXiv:2306.01116. [Google Scholar] [CrossRef] [Scilit]
  57. Soldaini, L.; Kinney, R.; Bhagia, A.; Schwenk, D.; Atkinson, D.; Authur, R.; Bogin, B.; Chandu, K.; Dumas, J.; Elazar, Y.; et al. Dolma: An Open Corpus of Three Trillion Tokens for Language Model Pretraining Research. In Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), Bangkok, Thailand, 11–16 August 2024; pp. 15725–15788. [Google Scholar] [CrossRef] [Scilit]
  58. Alsubhi, J.; Alahmadi, M.D.; Alhusayni, A.; Aldailami, I.; Hamdine, I.; Shabana, A.; Iskandar, Y.; Khayyat, S. Optimizing RAG Pipelines for Arabic: A Systematic Analysis of Core Components. arXiv 2025, arXiv:2506.06339. [Google Scholar] [CrossRef] [Scilit]
  59. Wang, Z.; Gao, C.; Xiao, C.; Huang, Y.; Si, S.; Luo, K.; Bai, Y.; Li, W.; Duan, T.; Lv, C.; et al. Document Segmentation Matters for Retrieval-Augmented Generation. In Proceedings of the Findings of the Association for Computational Linguistics: ACL 2025, Vienna, Austria, 27 July–1 August 2025; pp. 8063–8075. [Google Scholar]
  60. Qu, R.; Tu, R.; Bao, F.S. Is Semantic Chunking Worth the Computational Cost? In Proceedings of the Findings of the Association for Computational Linguistics: NAACL 2025, Albuquerque, NM, USA, 29 April–4 May 2025; pp. 2155–2177. [Google Scholar] [CrossRef] [Scilit]
  61. Merola, C.; Singh, J. Reconstructing context: Evaluating advanced chunking strategies for retrieval-augmented generation. In Proceedings of the International Workshop on Knowledge-Enhanced Information Retrieval; Springer: Cham, Switzerland, 2025; pp. 3–18. [Google Scholar]
  62. Cunningham, H.; Maynard, D.; Bontcheva, K.; Tablan, V.; Aswani, N.; Roberts, I.; Gorrell, G.; Funk, A.; Roberts, A.; Damljanovic, D.; et al. Developing Language Processing Components with GATE: Version 9 (User Guide); The University of Sheffield, Department of Computer Science: Sheffield, UK, 2023. [Google Scholar]
  63. Qi, P.; Zhang, Y.; Zhang, Y.; Bolton, J.; Manning, C.D. Stanza: A Python natural language processing toolkit for many human languages. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: System Demonstrations, Online, 5–10 July 2020; pp. 101–108. [Google Scholar]
  64. Ollama, Inc. Ollama: Open-Source Software Tool for Large Language Model. 2023. Available online: https://ollama.com (accessed on 20 January 2026).
  65. Wang, L.; Yang, N.; Huang, X.; Yang, L.; Majumder, R.; Wei, F. Multilingual E5 Text Embeddings: A Technical Report. arXiv 2024, arXiv:2402.05672. [Google Scholar] [CrossRef] [Scilit]
  66. Reimers, N.; Gurevych, I. Sentence-bert: Sentence embeddings using siamese bert-networks. arXiv 2019, arXiv:1908.10084. [Google Scholar] [CrossRef] [Scilit]
  67. Nacar, O.; Koubaa, A.; Sibaee, S.; Al-Habashi, Y.; Ammar, A.; Boulila, W. GATE: General Arabic Text Embedding for Enhanced Semantic Textual Similarity with Matryoshka Representation Learning and Hybrid Loss Training. arXiv 2025, arXiv:2505.24581. [Google Scholar] [CrossRef] [Scilit]
  68. Nacar, O.; Koubaa, A. Enhancing Semantic Similarity Understanding in Arabic NLP with Nested Embedding Learning. arXiv 2024, arXiv:2407.21139. [Google Scholar] [CrossRef] [Scilit]
  69. Douze, M.; Guzhva, A.; Deng, C.; Johnson, J.; Szilvasy, G.; Mazaré, P.E.; Lomeli, M.; Hosseini, L.; Jégou, H. The faiss library. IEEE Trans. Big Data 2025, 12, 346–361. [Google Scholar] [CrossRef] [Scilit]
  70. Bassani, E. ranx: A Blazing-Fast Python Library for Ranking Evaluation and Comparison. In Proceedings of the ECIR (2); Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2022; Volume 13186, pp. 259–264. [Google Scholar] [CrossRef] [Scilit]
  71. Bhat, S.R.; Rudat, M.; Spiekermann, J.; Flores-Herr, N. Rethinking Chunk Size For Long-Document Retrieval: A Multi-Dataset Analysis. arXiv 2025, arXiv:2505.21700. [Google Scholar]
Figure 1. Morphological decomposition of an Arabic word using CAMeL Tools.
Figure 1. Morphological decomposition of an Arabic word using CAMeL Tools.
Applsci 16 05964 g001
Figure 2. Overview of the proposed system pipeline for ArabicEduCrawler.
Figure 2. Overview of the proposed system pipeline for ArabicEduCrawler.
Applsci 16 05964 g002
Figure 3. LLM-assisted XPath generation and validation workflow for automated web data extraction.
Figure 3. LLM-assisted XPath generation and validation workflow for automated web data extraction.
Applsci 16 05964 g003
Figure 4. Overview of the Scrapy framework.
Figure 4. Overview of the Scrapy framework.
Applsci 16 05964 g004
Figure 5. Interactive annotation of an Arabic text sample from our dataset using GateNLP and Stanza.
Figure 5. Interactive annotation of an Arabic text sample from our dataset using GateNLP and Stanza.
Applsci 16 05964 g005
Figure 6. Data Preprocessing and Annotation Workflow.
Figure 6. Data Preprocessing and Annotation Workflow.
Applsci 16 05964 g006
Figure 7. Comparative crawling performance of the four source spiders: (a) crawl speed in items per minute. (b) crawl duration per spider. (c) number of accepted documents scraped per spider, and (d) average extracted content length per spider.
Figure 7. Comparative crawling performance of the four source spiders: (a) crawl speed in items per minute. (b) crawl duration per spider. (c) number of accepted documents scraped per spider, and (d) average extracted content length per spider.
Applsci 16 05964 g007
Figure 8. FastText top-3 language prediction distribution across accepted and dropped documents: (a) accepted documents by top-3 prediction rank; (b) dropped documents by top-3 prediction rank.
Figure 8. FastText top-3 language prediction distribution across accepted and dropped documents: (a) accepted documents by top-3 prediction rank; (b) dropped documents by top-3 prediction rank.
Applsci 16 05964 g008
Figure 9. Average FastText confidence scores across accepted and dropped documents: (a) average confidence by prediction rank for accepted documents; (b) average confidence by prediction rank for dropped documents.
Figure 9. Average FastText confidence scores across accepted and dropped documents: (a) average confidence by prediction rank for accepted documents; (b) average confidence by prediction rank for dropped documents.
Applsci 16 05964 g009
Figure 10. Statistics on chunk structure: (a) distribution of sentence counts per chunk; (b) distribution of token counts per chunk.
Figure 10. Statistics on chunk structure: (a) distribution of sentence counts per chunk; (b) distribution of token counts per chunk.
Applsci 16 05964 g010
Figure 11. Linguistic annotation distribution in the corpus: (a) Top 10 named entity recognition (NER) types; (b) top 10 part-of-speech (POS) tags.
Figure 11. Linguistic annotation distribution in the corpus: (a) Top 10 named entity recognition (NER) types; (b) top 10 part-of-speech (POS) tags.
Applsci 16 05964 g011
Figure 12. Distribution of cosine similarity scores between consecutive chunks generated by the proposed sentence-aware chunking strategy.
Figure 12. Distribution of cosine similarity scores between consecutive chunks generated by the proposed sentence-aware chunking strategy.
Applsci 16 05964 g012
Figure 13. Representative semantic similarity patterns across chunks in selected documents with different chunk counts (3, 4, 5, 7, and 10), illustrated using annotated cosine-similarity heatmaps.
Figure 13. Representative semantic similarity patterns across chunks in selected documents with different chunk counts (3, 4, 5, 7, and 10), illustrated using annotated cosine-similarity heatmaps.
Applsci 16 05964 g013
Table 1. Comparison of recent web corpus construction studies relevant to Arabic educational data.
Table 1. Comparison of recent web corpus construction studies relevant to Arabic educational data.
StudyDomainLang.SourceStrategyQCLIDDedup.SizeLimitation
FineWeb-Edu [8]Edu.ENFineWeb/
Common Crawl
LLM scoring & classifier filteringPost hocFastTextMinHash1.3 T tokensDemographic and religious bias skew
ArabicWeb-Edu [9]Edu.AR1 M Arabic Common Crawl documentsQwen labeling & mGTE filteringPost hocNRNR1 M docsCostly filtering; English-based criteria may not suit Arabic educational contexts.
FineWeb-Edu-Ar [42]Edu.ARTranslated FineWeb-EduMT construction using NLLBPost-translationN/AInherited189.4 M passages; 202.4 B tokensTranslation inaccuracies; English-centric knowledge
101 B Arabic Words Dataset [43]GeneralARCommon Crawl WETWET extraction, cleaning, normalizationPost hocNRURL & MinHash101 B words; 89.1 M pagesNo downstream evaluation; regional imbalance
ArabicEduCrawler (This study)Edu.ARTargeted Arabic educational websitesAI-assisted crawling, scraping, and processingDuring crawling & post-processingFastTextMD5101 k docs; 286 k passages; 50 M tokens; 289 k sent.Smaller scale than broad web archives; depends on source availability
QC: quality control; LID: language identification; Dedup.: deduplication; NR: not reported; EN: English; AR: Arabic; Edu.: Educational; sent.: sentences.
Table 2. Selected Arabic Educational Websites.
Table 2. Selected Arabic Educational Websites.
DomainDescriptionTopicsTypeFormatAccess
Alukah Network [44]Islamic and cultural network presenting articles on science, literature, and contemporary issues from an Islamic perspective.Islamic studies, literature, cultureDigital PortalText, PDFOpen
Adab [45]Repository of Arabic literature featuring a rich collection of poetry and prose by renowned Arab writers.Arabic literature, poetryEncyclopediaTextOpen
Shamela Library [46]Digital Arabic e-book library offering a wide range of Islamic and literary works across multiple disciplines.Islamic studies, history, literature, linguisticsDigital LibraryText, PDFOpen
Arabic Wikipedia [47]Arabic edition of Wikipedia providing comprehensive information on various scientific disciplines.Physics, chemistry, biology, mathematicsEncyclopediaTextOpen
Table 3. Source Domains with Resource and Crawling Metadata.
Table 3. Source Domains with Resource and Crawling Metadata.
Source DomainResource MetadataCrawling Metadata *
alukah.net [44]Title, Author, Publication Date, View Count.Crawl Timestamp, HTTP Status, Response Headers, Encoding, Crawl Depth, Referer URL, Source URL, Content Length, HTML Length, MD5 Hash.
adab.com [45]Title, Author, Profile URL, Post Date, Page Number, Poem Length, Excerpt.
shamela.ws [46]Title, Author, Publisher, Edition, Book ID, Total Pages, Page Number.
ar.wikipedia.org [47]Title, Author, Subcategory, Last Modified Date.
* Crawling metadata is shared across all source domains.
Table 4. Experiment environment details for reproducibility.
Table 4. Experiment environment details for reproducibility.
ConfigurationCrawlingGateNLPChunking Experiment
PlatformmacOSWindows 11
HardwareApple Silicon, 8 CPU cores, 16 GB memoryi7-13620H, 24 GB RAM, RTX 5060 8 GB
RuntimeDockerPython 3.12, PyTorch, CUDA 13.1
Imagepython:3.11-slimjupyter/base-notebook:python-3.11.5Not applicable
Table 5. Seed URLs and Their Corresponding Main Topic Areas in the Selected Websites (all URLs accessed on 8 June 2026).
Table 5. Seed URLs and Their Corresponding Main Topic Areas in the Selected Websites (all URLs accessed on 8 June 2026).
DomainSeed URLsMain Topic Area
ar.wikipedia.orghttps://ar.wikipedia.org/wiki/تصنيف:كيمياءChemistry
https://ar.wikipedia.org/wiki/تصنيف:علوم_فيزيائيةPhysics
https://ar.wikipedia.org/wiki/تصنيف:علم_الأحياءBiology
https://ar.wikipedia.org/wiki/تصنيف:رياضياتMathematics
alukah.nethttps://www.alukah.net/sharia/0/Sharia
https://www.alukah.net/literature_language/0/Literature & Language
https://www.alukah.net/culture/0/Culture
https://www.alukah.net/library/0/Library
https://www.alukah.net/social/0/Social Sciences
adab.comhttps://www.adab.comArabic Literature and Poetry
shamela.wshttps://shamela.wsIslamic Studies, Literature, Linguistics, History
Table 6. Examples of filtered crawling results produced by the FastText dual-threshold language identification and filtering rules.
Table 6. Examples of filtered crawling results produced by the FastText dual-threshold language identification and filtering rules.
CaseSourceSample TextFastText LabelsScoresFiltering ThresholdFiltering Justification
S1Arabic
Wikipedia
…حساب التفاضل والتكامل من الاختلافات
العثور على القيم القصوى للعمليات مشابه
…لإيجاد القيم العظمى والصغرى للمعادلات
__label__arb_Arab
__label__yue_Hant
__label__azb_Arab
0.896
0.046
0.015
Accepted by
primary
Arabic is the top prediction and its confidence
is above the primary threshold of 0.8.
S2Arabic
Wikipedia
…طرائق ح لانهاية في نظرية التحكم
هي أحد طرائق بناء المتحكمات والتي
…يمكن تطبيقها على الأنظمة الخطية واللاخطية
__label__arb_Arab
__label__yue_Hant
__label__azb_Arab
0.883
0.069
0.011
Accepted by
primary
Arabic is the top prediction and its confidence
is above the primary threshold of 0.8.
S3Alukah
Network
…المهارات والقدرات المستهدفة بتبني نهج التقصي
نهج التقصي هو منهجية تعليمية تشجع المتعلمين
…من خلال طرح الأسئلة وإجراء البحوث والتحريات
__label__arb_Arab
__label__pes_Arab
__label__azb_Arab
0.999
0.00004
0.00004
Accepted by
primary
The page is clearly Arabic educational content,
with very high Arabic confidence.
S4Arabic
Wikipedia
فلوريد الفضة وهو مركب كيميائي
…مكون من عنصري الفضة والفلور
.mw-parser-output .dmbox{display:flex;…}
__label__arb_Arab
__label__yue_Hant
__label__azb_Arab
0.537
0.146
0.107
Accepted by
secondary
Arabic is still the top prediction, but CSS noise
reduces confidence below 0.8. Since the score
remains above 0.5, the page is retained.
S5Arabic
Wikipedia
…المُلْتَقَى أو المَقْرَن مكان التقاء مسطحين مائيين
@font-face{font-family:
“TemplateStyles-Calibri-Quran”; …}
٩٤… (وَتَرَى الْمُجْرِمِينَ يَوْمَئِذٍ مُقَرَّنِينَ فِي الْأَصْفَادِ)
__label__arb_Arab
__label__azb_Arab
__label__yue_Hant
0.756
0.060
0.045
Accepted by
secondary
Arabic is still the top prediction, but CSS
templates and citation noise reduce confidence
below 0.8. Since the score remains above 0.5,
the page is retained.
S6Adabلا أيها الزمن، لن تستطيع المباهاة بأن التغير
…يطرأ عليّ إن أهراماتك التي شُيِّدَتْ بعزيمة جديدة
No, Time, thou shalt not boast that I do change:
Thy pyramids built up with newer might…
__label__arb_Arab
__label__eng_Latn
__label__azb_Arab
0.649
0.332
0.009
Accepted by
secondary
Arabic is still the top prediction, but the presence
of both Arabic and English translations lowers
confidence below 0.8. Since the score remains
above 0.5, the page is retained.
S7Arabic
Wikipedia
(Homochiral) …التجانس اليدواني
…أو تجانس عدم التناظر المرآتي)
RejectedRejected as duplicate content. The page had already
been identified during crawling and was not retained
as a unique Arabic page.
S8Alukah
Network
“Kəlimə-i səva (Haqq Söz)”
Mesajı Sevimli Peyğəmbər
Məhəmməd (s.ə.s.) sünnəsinin
əhlindən şiə əhlinə
__label__azj_Latn
__label__bak_Cyrl
__label__knc_Latn
1.000
0.00001
0.00001
RejectedRejected because Arabic was not confidently detected.
FastText predicted Azerbaijani Latin with 1.000 confidence,
and Arabic was absent from the top three labels.
This case was therefore excluded by the language filter.
S9Shamela
Library
قصة الفيلRejectedRejected because the text was too short for reliable
language detection, even though the sample itself
contains Arabic words.
S10Alukah
Network
Empty extracted textRejectedRejected as too short because the extraction produced
no usable text for language identification.
Table 7. Statistics of the Arabic educational corpus by processing layer.
Table 7. Statistics of the Arabic educational corpus by processing layer.
Phase/LayerStatisticValue
CrawlingNumber of crawled pages109,633
In-crawl filteringNumber of accepted documents104,421
PreprocessingNumber of retained documents101,770
Sentence-aware chunkingNumber of chunks286,025
GateNLPNumber of tokens50,366,982
GateNLPNumber of sentences289,778
GateNLPVocabulary size684,221
GateNLPNumber of unique lemmas603,535
GateNLPNumber of named entities3,429,315
Table 8. Chunk Statistics for Selected Strategies After 20–450 AraBERT Token Filtering.
Table 8. Chunk Statistics for Selected Strategies After 20–450 AraBERT Token Filtering.
Chunking MethodChunksDocsQrelsAvg. TokensMedianMinMax
CharacterTextSplitter13014947476265.3330122442
RecursiveCharacterTextSplitter10444947476333.9144922450
Sentence-Aware (Proposed)12914947476263.5029021450
Note. Qrels denotes the number of query-relevance judgments used for retrieval evaluation.
Table 9. Comparison of chunking approaches in retrieval tasks using four embedding models.
Table 9. Comparison of chunking approaches in retrieval tasks using four embedding models.
Embedding
Model
Dim.Chunking
Method
Hit RatePrecisionRecallMRR@10MAP@10nDCG@10
@1@5@10@1@5@10@1@5@10
E5-large1024Character0.50910.64990.70410.50910.26940.18200.19740.36110.42820.56990.34700.4354
Recursive0.48310.63110.68510.48310.24150.15780.21530.39010.45660.54630.36420.4379
Sentence-aware0.51850.65400.70810.51850.27250.18590.19380.35340.42520.57710.34420.4358
MiniLM384Character0.07360.14710.19070.07360.03680.02710.04200.07570.09470.10580.06060.0816
Recursive0.06020.11700.15520.06020.02740.02010.04230.07570.09400.08500.05940.0752
Sentence-aware0.09400.16630.20630.09400.04900.03600.04380.08200.10490.12530.06740.0946
Ara-
Matryoshka
768Character0.41760.57000.63280.41760.23750.16720.16240.31880.39200.48250.30360.3829
Recursive0.40730.55640.62640.40730.22090.14990.18110.35080.42760.47190.32700.3953
Sentence-aware0.43470.57660.64220.43470.24340.17460.16200.31320.39420.49690.30500.3898
Ara-MPNet768Character0.18070.32530.40120.18070.08910.06320.08080.14890.18720.24200.12120.1693
Recursive0.14970.29250.37310.14970.07550.05350.07950.15310.19560.21150.12060.1628
Sentence-aware0.19580.34560.42550.19580.09760.06910.08300.15400.19350.26080.12630.1787
Note. Best results for each embedding model are highlighted in boldface. Dim. indicates the embedding dimension. Model abbreviations: E5-large: multilingual-E5-large; MiniLM: paraphrase-multilingual-MiniLM-L12-v2; Ara-Matryoshka: Arabic-Triplet-Matryoshka-V2; Ara-MPNet: Arabic-mpnet-base-all-nli-triplet. Chunking abbreviations: Character: CharacterTextSplitter; Recursive: RecursiveCharacterTextSplitter.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Alkhamisi, A.A.; Bamashmoos, F.; Alsaggaf, W. ArabicEduCrawler: AI-Assisted Focused Crawling and Corpus Construction for Arabic Educational Web Content. Appl. Sci. 2026, 16, 5964. https://doi.org/10.3390/app16125964

AMA Style

Alkhamisi AA, Bamashmoos F, Alsaggaf W. ArabicEduCrawler: AI-Assisted Focused Crawling and Corpus Construction for Arabic Educational Web Content. Applied Sciences. 2026; 16(12):5964. https://doi.org/10.3390/app16125964

Chicago/Turabian Style

Alkhamisi, Afyaa Atyan, Fatmah Bamashmoos, and Wafaa Alsaggaf. 2026. "ArabicEduCrawler: AI-Assisted Focused Crawling and Corpus Construction for Arabic Educational Web Content" Applied Sciences 16, no. 12: 5964. https://doi.org/10.3390/app16125964

APA Style

Alkhamisi, A. A., Bamashmoos, F., & Alsaggaf, W. (2026). ArabicEduCrawler: AI-Assisted Focused Crawling and Corpus Construction for Arabic Educational Web Content. Applied Sciences, 16(12), 5964. https://doi.org/10.3390/app16125964

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop