{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "# ManaTTS Crawling\n",
        "This notebook includes the scripts used to crawl the ManaTTS dataset raw audio and text files from the [Nasl-e-Mana](https://naslemana.com/) magazine. Notice that some initial issues of this magazine are available on the [IBNGO](ibngo.ir) website and cannot be crawled. These issues were downloaded manually in the ManaTTS dataset."
      ],
      "metadata": {
        "id": "LbFqDhirv6aw"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "# Crawl audio-transcription pairs"
      ],
      "metadata": {
        "id": "wT2n-qYr8zRm"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import requests\n",
        "from bs4 import BeautifulSoup\n",
        "import pandas as pd\n",
        "import os\n",
        "import logging\n",
        "from google.colab import drive"
      ],
      "metadata": {
        "id": "ti0uxO-GxtxL"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Configure logging for link not on naslemana.com\n",
        "logging.basicConfig(filename='naslemana_log.log', level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')"
      ],
      "metadata": {
        "id": "ioR1Ia0JyeGL"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Define the base URL and the directory to save files\n",
        "base_url = \"https://naslemana.com/\"\n",
        "\n",
        "save_dir = \"raw-data/\"\n",
        "os.makedirs(save_dir, exist_ok=True)"
      ],
      "metadata": {
        "id": "g0FCSb80ykGe"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Function to download a file\n",
        "def download_file(url, save_path):\n",
        "    if not url.startswith(base_url):\n",
        "        logging.info(f\"Link not starting with naslemana.com: {url}\")\n",
        "        return\n",
        "    response = requests.get(url, stream=True)\n",
        "    with open(save_path, 'wb') as out_file:\n",
        "        out_file.write(response.content)"
      ],
      "metadata": {
        "id": "6HuCQCn0vMCB"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Function to extract text from a page\n",
        "def extract_text(url):\n",
        "    response = requests.get(url)\n",
        "    soup = BeautifulSoup(response.text, 'html.parser')\n",
        "    title = soup.find('span', class_='post-title', itemprop='headline').text\n",
        "    subtitle = soup.find('h2', class_='post-subtitle')\n",
        "    if subtitle:\n",
        "        subtitle = subtitle.text\n",
        "    else:\n",
        "        subtitle = \"\"\n",
        "    body_text = \" \".join([p.text for p in soup.find_all('div', class_='entry-content clearfix single-post-content')])\n",
        "    return title, subtitle, body_text"
      ],
      "metadata": {
        "id": "HneGHxLxzVV2"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Initialize the metadata DataFrame\n",
        "metadata_df = pd.DataFrame(columns=[\"magazine_name\", \"magazine_url\", \"subject\", \"audio_url\", \"text_url\", \"file_name\"])"
      ],
      "metadata": {
        "id": "Ls1dlV_HvQ3V"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Crawl the pages\n",
        "for page_num in range(1, 6):\n",
        "    page_url = f\"{base_url}page/{page_num}/\"\n",
        "    response = requests.get(page_url)\n",
        "    soup = BeautifulSoup(response.text, 'html.parser')\n",
        "\n",
        "    # Find candidate pages\n",
        "    candidate_pages = soup.find_all('a', class_='read-more')\n",
        "    for candidate in candidate_pages:\n",
        "        candidate_url = candidate['href']\n",
        "        candidate_response = requests.get(candidate_url)\n",
        "        candidate_soup = BeautifulSoup(candidate_response.text, 'html.parser')\n",
        "\n",
        "        # Find elements with \"(صوت)\" and a link to an .mp3 file\n",
        "        audio_elements = candidate_soup.find_all('a', href=lambda href: href and href.endswith('.mp3'), string=lambda string: string and '(صوت)' in string)\n",
        "\n",
        "        if audio_elements:    # The candidate page is for a magazine\n",
        "          print(f\"Crawling {candidate_url}\")\n",
        "\n",
        "        for audio_element in audio_elements:\n",
        "            audio_url = audio_element['href']\n",
        "            audio_text = audio_element.text.replace('(صوت)', '').strip()\n",
        "\n",
        "            # Look for a corresponding element with \"(متن)\"\n",
        "            text_element = candidate_soup.find('a', string=lambda string: string and '(متن)' in string and audio_text in string)\n",
        "            if text_element:\n",
        "                text_url = text_element['href']\n",
        "\n",
        "                # Extract text from the text page\n",
        "                title, subtitle, body_text = extract_text(text_url)\n",
        "\n",
        "                # Prepare the subject by removing specific words\n",
        "                subject = title.replace('(متن)', '').replace('(صوت)', '')\n",
        "\n",
        "                print(f\"Downloading the pair: {subject}\")\n",
        "\n",
        "                # Download the audio file\n",
        "                file_name = f\"{save_dir}/{len(metadata_df) + 164}.mp3\"\n",
        "                download_file(audio_url, file_name)\n",
        "\n",
        "                # Save the text to a file\n",
        "                text_file_name = f\"{save_dir}/{len(metadata_df) + 164}.txt\"\n",
        "                with open(text_file_name, 'w', encoding='utf-8') as f:\n",
        "                    f.write(f\"{title}\\n{subtitle}\\n{body_text}\")\n",
        "\n",
        "                # Update the metadata\n",
        "                metadata_df = pd.concat([metadata_df, pd.DataFrame([{\n",
        "                    \"magazine_name\": candidate_soup.find('span', class_='post-title', itemprop='headline').text,\n",
        "                    \"magazine_url\": candidate_url,\n",
        "                    \"subject\": subject,\n",
        "                    \"audio_url\": audio_url,\n",
        "                    \"text_url\": text_url,\n",
        "                    \"file_name\": f\"{len(metadata_df) + 164}\"\n",
        "                }])], ignore_index=True)\n",
        "\n",
        "                # Save the metadata to a CSV file after each pair\n",
        "                metadata_df.to_csv(f\"{save_dir}/metadata.csv\", index=False)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "hHBXPoT-x0Ti",
        "outputId": "0db8a22c-80d5-4bf0-b253-594ed03e341c"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Crawling https://naslemana.com/2024/02/19/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%b3%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b2%db%b6-%d8%a8%d9%87/\n",
            "Downloading the pair: چرایی عدم شرکت معلولان در تجمعات سراسری\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (بهمن ۱۴۰۲)\n",
            "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
            "Downloading the pair: دست در دست هم معجزه می‌آفرینیم\n",
            "Downloading the pair: تعامل در خرید (بخش نخست)\n",
            "Downloading the pair: بریل‌بات؛ پروژه‌ای رایگان و منبع‌باز برای یادگیری بریل\n",
            "Downloading the pair: ماجرای یک تفاهم‌نامۀ عجیب‌: چوب حراج سازمان بهزیستی به ۲۷۰ میلیارد تومان اعتبار سفرهای رایگان معلولان\n",
            "Downloading the pair: تقلیل ساعات کاری افراد دارای معلولیت: آری یا نه؟!\n",
            "Downloading the pair: مشاغل از نگاه یوتیوبر نابینا\n",
            "Downloading the pair: نابینایان و کاندیداتوری مجلس شورای اسلامی\n",
            "Downloading the pair: تلویزیون ایران و پخش فیلم‌های توصیف ‌صوتی‌شده\n",
            "Downloading the pair: یاد و خاطره از مهم‌ترین آموزشگاه نابینایان در تهران\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: نامه‌ای به یک دوست : هفته‌روزنامۀ ایران سپید؛ اولین رسانۀ هوشمند در جهان\n",
            "Crawling https://naslemana.com/2024/01/20/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%b3%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b2%db%b5-%d8%af%db%8c/\n",
            "Downloading the pair: ریل‌گذاری‌های نسل مانا برای سال پیش‌ رو\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (دی ۱۴۰۲)\n",
            "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریه‌های انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
            "Downloading the pair: آنجا که رنگ و نور و تماشا بریل شد؛ نگاهی به جایگاه بریل در دنیای امروز و مقایسه آن با ایران\n",
            "Downloading the pair: پیچ و خم‌های تعامل والدین نابینا و فرزندانشان\n",
            "Downloading the pair: چگونه هوش مصنوعی می‌تواند در مسیریابی به نابینایان و کم‌بینایان کمک کند\n",
            "Downloading the pair: وضعیت اعتبار شهادت نابینایان و ناشنوایان در دادگاه‌ها\n",
            "Downloading the pair: کدام‌یک کار‌آمدتر است: آموزش در مدارس استثنایی یا به‌صورت تلفیقی\n",
            "Downloading the pair: مشاغل از نگاه یوتیوبر نابینا\n",
            "Downloading the pair: آموزش جهت‌يابي به نابینایان، متولی ندارد\n",
            "Downloading the pair: تازه‌های بیماری آرپی\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: تبعیض زیر نام برابری جولان می دهد\n",
            "Downloading the pair: فرصت‌ها را نسوزانید\n",
            "Crawling https://naslemana.com/2023/12/21/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%af%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b2%db%b4-%d8%a2%d8%b0/\n",
            "Downloading the pair: ایران بی‌معلولیت بامدیران بی‌مسؤولیت امکان‌پذیر نیست\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (آذر ۱۴۰۲)\n",
            "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
            "Downloading the pair: شجاع باش! خطر کن! هیچ چیز نمی‌تواند جای تجربه را بگیرد!\n",
            "Downloading the pair: آنچه افراد بینا لازم است از کمک کردن به نابینایان بدانند\n",
            "Downloading the pair: عکس‌های سه‌بعدی که نابینایان هم می‌توانند آنها را تجربه کنند\n",
            "Downloading the pair: مشاغل از نگاه سَم سیوی\n",
            "Downloading the pair: روند دادرسی افراد دارای معلولیت\n",
            "Downloading the pair: سر‌انگشتان زن نابینا، در جستجوی طلای سرخ\n",
            "Downloading the pair: تحریم پشت تحریم: نگاهی به آثار فیلترینگ بر فعالیت‌های نابینایان\n",
            "Downloading the pair: نگاهی به برنامۀ درسی دانش‌آموزان با آسیب بینایی\n",
            "Downloading the pair: همسرایی نهنگ‌ها در میان آب‌های آلوده (توان‌بخشی شغلی و کار پیدا کردن افراد نابینا و کم‌بینا)\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: نخستین زندگی‌نامۀ نابینایان\n",
            "Downloading the pair: آوایی از لابلای کتاب‌های تصویری کودکان (تجسم کتاب‌های تصویری کودکان تنها از طریق صدا)\n",
            "Downloading the pair: اشک‌های شوق یلدا برف شد\n",
            "Downloading the pair: بابا تو دیگه کی هستی؟!\n",
            "Crawling https://naslemana.com/2023/11/21/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%af%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b2%db%b3-%d8%a2%d8%a8/\n",
            "Downloading the pair: نتایج قابل انتظار ورزشکاران نابینا و کم‌بینا در پاراآسیایی هانگژو\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (آبان ۱۴۰۲)\n",
            "Downloading the pair: پیشخوان: مروری بر جدید‌ترین پادکست‌ها و نشریه‌های انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی ا\n",
            "Downloading the pair: زندگی میدان رقابت نیست: قهرمان خودت باش!\n",
            "Downloading the pair: در انتظار غروبی خاکستری\n",
            "Downloading the pair: نگاهی به امکان استفاده از هوش مصنوعی برای تشخیص تصاویر در برنامه بی مای آیز\n",
            "Downloading the pair: وکیل پایه1 دادگستری: فعالیت کمپین‌ معلولان قانونی است‌\n",
            "Downloading the pair: مشاغل از نگاه یوتیوبر نابینا\n",
            "Downloading the pair: معلولان و حقوق کار\n",
            "Downloading the pair: تولد شکوفه‌ها در شوره‌زار (کشف و پرورش استعداد‌های افراد نابینا و کم‌بینا)\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: برای ۱۲ آذر روز جهانی معلولین\n",
            "Downloading the pair: سال‌شمار زندگی و خدمات احمد رضا\n",
            "Downloading the pair: پیش اعترافات یک جاسوس  ای هدهد صبا به سبا می‌فرستمت\n",
            "Crawling https://naslemana.com/2023/10/22/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%af%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b2%db%b2-%d9%85%d9%87/\n",
            "Downloading the pair: دست خالی معلولان در برنامۀ هفتم توسعه: نمایندگانی که از حق معلولان دفاع نکردند\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (مهر ۱۴۰۲)\n",
            "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریه‌های انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
            "Downloading the pair: ورود به دانشگاه: طعمی میان عشق و اضطراب\n",
            "Downloading the pair: سفرنامه استانبول در ایستگاه آخر\n",
            "Downloading the pair: دسترس‌پذیر کردن ریاضیات برای نابینایان و کم‌بینایان\n",
            "Downloading the pair: دنیای اینترنت، منهای نابینایان بستر اینترنت، خانۀ دوم معلولان است\n",
            "Downloading the pair: مشاغل از نگاه سَم سیوی\n",
            "Downloading the pair: قانون عصای سفید\n",
            "Downloading the pair: اتحاد مورچه‌ها در برابر سیلاب (نقش مهارت‌های ارتباطی در زندگی افراد نابینا و کم‌بینا)\n",
            "Downloading the pair: به قلم شما\n",
            "Downloading the pair: احمد رضا در آینۀ منابع\n",
            "Downloading the pair: گرامیداشت روز جهانی عصای سفید بر فراز کوه\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحبنظران نابینا\n",
            "Downloading the pair: بگذار و بگذر\n",
            "Crawling https://naslemana.com/2023/09/22/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%af%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b2%db%b1-%d8%b4%d9%87/\n",
            "Downloading the pair: فروش خیال به رسانه‌ها: نگاهی به ابعاد واقعی عنوان سومی ورزش نابینایان در دنیا\n",
            "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
            "Downloading the pair: به‌وقت جوانه زدن در پاییز؛ گذار از بحران بریل بر عهدۀ متولیان آموزش\n",
            "Downloading the pair: بازار استانبول، محل تلاقی دریا و پرندگان و آفتاب و آسمان\n",
            "Downloading the pair: دسترس‌پذیری در بازی‌های رایانه‌ای\n",
            "Downloading the pair: بریل‌های ناگزیر\n",
            "Downloading the pair: مدارس تلفیقی، تلفیق بی‌مهری با دانش‌آموزان نابینا: معلم رابط، مفهومی رنگ‌باخته برای سیستم آموزشی\n",
            "Downloading the pair: مدیریت هیجان؛ یک مهارت کلیدی\n",
            "Downloading the pair: سرنوشت مادۀ 27 قانون حمایت از معلولان\n",
            "Downloading the pair: احمد رضا در آیینۀ منابع\n",
            "Downloading the pair: از سنندج گرم تا دالانپر سرد\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحبنظران نابینا\n",
            "Downloading the pair: یک سوزن به خودمان\n",
            "Crawling https://naslemana.com/2023/08/22/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%af%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b2%db%b0-%d9%85%d8%b1/\n",
            "Downloading the pair: فراموشی مسئولان در قبال ورزش همگانی معلولان\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (مرداد ۱۴۰۲)\n",
            "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
            "Downloading the pair: پیوند با فضای آکادمیک، راهی برای احیای پیکر نیمه‌جان آموزش نابینایان\n",
            "Downloading the pair: یک دوست تازه\n",
            "Downloading the pair: آشنایی با او‌ام‌آر و کاربرد آن برای نابینایان\n",
            "Downloading the pair: نگاهی به پدیدۀ رد دسته‌جمعی نابینایان پذیرفته‌شده در آزمون استخدامی آموزش‌ و پرورش\n",
            "Downloading the pair: همقدم با سَم در دنیای مشاغل\n",
            "Downloading the pair: معلولان و چالش استخدام در آموزش و پرورش راهکار و رویکرد حقوقی\n",
            "Downloading the pair: چشمه‌ای در دل سنگی کوهستان (چگونگی دسترسی افراد کم‌بینا و نابینا به منابع مطالعاتی)\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: مثلث معلولان، بهزیستی، آموزش و پرورش استثنایی پیرامون کمیته ارزیابی صلاحیت‌ها و توانایی‌های فردی متقاضیان آزمون آموزش و پرورش استثنایی مقطع ابتدایی\n",
            "Downloading the pair: احمد رضا نابینای مبتکر، خلاق و تحول آفرین\n",
            "Downloading the pair: به قلم شما\n",
            "Downloading the pair: اطلاع‌رسانی\n",
            "Downloading the pair: مجبورم، می‌فهمی؟ مجبور\n",
            "Crawling https://naslemana.com/2023/07/22/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%af%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b1%db%b9-%d8%aa%db%8c/\n",
            "Downloading the pair: zmپاسخ‌گویی به افکار عمومی،حلقه مفقوده ارتباط بهزیستی با جامعه هدف\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (تیر ۱۴۰۲)\n",
            "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
            "Downloading the pair: حواله به برزخ، تحفه‌ میزبان‌ به ميهمانان قادری خطاب به خبرنگاران: مفتشی یا وکیل؟\n",
            "Downloading the pair: وبسایت‌های خالی و مراکز نیمه‌تعطیل، دستاورد سازمان بهزیستی\n",
            "Downloading the pair: سه روز در یک روز\n",
            "Downloading the pair: معرفی دو ابزار هوش مصنوعی مینی‌جی‌پی‌تی ـ ۴ و میدجورنی برای توصیف تصاویر\n",
            "Downloading the pair: خود‌آگاهی: مهارتی ضروری در بهبود زندگی ما\n",
            "Downloading the pair: همقدم با سَم در دنیای مشاغل\n",
            "Downloading the pair: سایه ابر در تلاطم گرما (آشنایی با نرم‌افزار‌های توان‌بخشی کاربران نابینا و کم‌بینا برای کامپیوتر و گوشی همراه)\n",
            "Downloading the pair: چرخش در بر پاشنه قدیمی: رواج معلول‌زدگی در بهزیستی  بهزیستی در ارائه خدمات غیر هزینه‌ای‌ به معلولان ضعیف است\n",
            "Downloading the pair: سهمیه سه‌درصد معلولین منهای نابینایان: ده نکته قابل‌تأمل در باب آزمون استخدامی آموزش و پرورش\n",
            "Downloading the pair: معلولان و قوانین ایران\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: از موتوری نخرید\n",
            "Crawling https://naslemana.com/2023/06/21/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%af%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b1%db%b8-%d8%ae%d8%b1/\n",
            "Downloading the pair: گزارشی از تور تفریحی انجمن نابینایان ایران در بابلسر\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (خرداد 1402)\n",
            "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
            "Downloading the pair: کارنامه‌ای برای آنها که کارنامه می‌دهند آیا عملکرد مدارس نابینایان نمره قبولی می‌گیرد؟\n",
            "Downloading the pair: آغاز سفر: پرواز\n",
            "Downloading the pair: نگاهی به دسترس‌پذیری تاکسی‌های آنلاین خود‌ران ویمو برای نابینایان\n",
            "Downloading the pair: پرورش تفکّر خلّاق در افراد با آسیب بینایی\n",
            "Downloading the pair: همقدم با سم سیوی در دنیای مشاغل\n",
            "Downloading the pair: گرمای الکتریسیته در عضلات یخ‌زده (آشنایی با تجهیزات الکترونیکی توان‌بخشی افراد نابینا و کم‌بینا)\n",
            "Downloading the pair: تابستان، فصل حبس خانگی نابینایان جامعه برای اوقات فراغت نابینایان برنامه‌ای ندارد\n",
            "Downloading the pair: دنیای پرتلاطم آرام\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحبنظران نابینا\n",
            "Downloading the pair: اولین تجربۀ شب‌مانی گشت سپید\n",
            "Downloading the pair: خرت از پل گذشت\n",
            "Crawling https://naslemana.com/2023/05/21/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%af%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b1%db%b7-%d8%a7%d8%b1/\n",
            "Downloading the pair: برخورد با دورهمی دوستانه معلولان تا تصاحب امکانات آنها از سوی مسئولان\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (اردیبهشت ۱۴۰۲)\n",
            "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
            "Downloading the pair: من قهرمان نیستم: جمله‌ای که باید گفتنش را تمرین کنیم\n",
            "Downloading the pair: یک جهان مهر و شور و توانایی در گوشه‌ای از نصف جهان\n",
            "Downloading the pair: آشنایی با بیوپتیک\n",
            "Downloading the pair: بهبود هوش هیجانی در افراد با آسیب بینایی\n",
            "Downloading the pair: رئیس دبیرخانه ستاد مسکن سازمان بهزیستی کشور: مسکن ملی برای معلولان رایگان نیست. بهزیستی در تأمین مسکن مددجویان نقش تسهیل‌گر دارد.\n",
            "Downloading the pair: آواز چرخ دنده‌ها در بستر سکون (آشنایی با وسایل غیر‌الکترونیکی توان‌بخشی افراد نابینا و کم‌بینا)\n",
            "Downloading the pair: سفرنامه تبریز و اردبیل\n",
            "Downloading the pair: یک روز و خاطره هزاران تجربه\n",
            "Downloading the pair: خزانی‌ترین تجربه در بهاری‌ترین روز فروردین\n",
            "Downloading the pair: نواک: نوای کتاب در گفت‌وگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: یک سوزن به خودمان\n",
            "Downloading the pair: اطلاع‌رسانی\n",
            "Downloading the pair: اطلاع‌رسانی\n",
            "Crawling https://naslemana.com/2023/04/20/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%af%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b1%db%b6-%d9%81%d8%b1/\n",
            "Downloading the pair: امید واهی به معلولان از سوی نمایندگان مجلس/ مقصران عدم پرداخت عیدی مددجویان را هم برکنار کنید\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران: (فروردین ۱۴۰۲)\n",
            "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
            "Downloading the pair: دفاع شخصی، امنیت و آسیب بینایی\n",
            "Downloading the pair: آن سفر کرده که صد قافله دل همره اوست\n",
            "Downloading the pair: معرفی ابزار داوطلب مجازی در برنامه بی مای آیز\n",
            "Downloading the pair: اشتغال، سودایی فراتر از جغرافیا\n",
            "Downloading the pair: چگونه از احساس تنهایی و انزوای اجتماعی گذر کنیم\n",
            "Downloading the pair: رقص شهاب سنگ‌ها در شب کویر (آشنایی با تشکل‌ها و سازمان‌های مردم‌نهاد افراد نابینا و کم‌بینای کشور)\n",
            "Downloading the pair: نهضت بی‌مسکنی مددجویان بهزیستی\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: اطلاع‌رسانی: گلایه‌نامه و یک نامه\n",
            "Downloading the pair: قدر زر زرگر شناسد\n",
            "Crawling https://naslemana.com/2023/03/20/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%af%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b1%db%b5-%d8%a7%d8%b3/\n",
            "Downloading the pair: پاسخ‌های معاونت امور توانبخشی سازمان بهزیستی به سؤالات ماهنامه نسل مانا\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (اسفند ۱۴۰۱)\n",
            "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
            "Downloading the pair: خصوصی‌سازی مرکز توانبخشی خزانه؛ آزمون دوباره آزموده‌ها\n",
            "Downloading the pair: به اندازه بود باید نمود\n",
            "Downloading the pair: بررسی و مقایسه دو دستگاه نمایشگر مداوم قند خون دسترس‌پذیر لیبره لینک و دکسکوم\n",
            "Downloading the pair: بریل در ایران و ضرورت گذار از دوگانه‌ها: به‌سوی کاربست راهبردی تجمیعی-تلفیقی (بخش سوم)\n",
            "Downloading the pair: با توان باش هرچه خواهی کن  مصاحبه نسل مانا با مهندس محمدرضا هادی‌پور، از اعضای مؤسس و عضو هیئت مدیرۀ کانون معلولین توانا\n",
            "Downloading the pair: تاب‌آوری، مهارتی که در زندگی روزمره‌مان ضروری است\n",
            "Downloading the pair: چتری زیر باران (خدمات سازمان بهزیستی برای مددجویان نابینا و کم‌بینا)\n",
            "Downloading the pair: ادامه بی‌مهری به کودکان استثنایی  آیا شش ماه تعطیلی، مقدمه حذف آموزش استثنایی است؟\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: آفتابه لگن هفت دست، شام و ناهار هیچی\n",
            "Crawling https://naslemana.com/2023/02/19/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%af%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b1%db%b4-%d8%a8%d9%87/\n",
            "Downloading the pair: تصمیمات اشتباه دولت علیه معلولان، ماراتنی بی‌پایان\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (بهمن ۱۴۰۱)\n",
            "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
            "Downloading the pair: آموزش بر بستر‌های مجازی، مهمانی که صاحبخانه شد\n",
            "Downloading the pair: رک و پوست‌کنده با پدر نابینا\n",
            "Downloading the pair: بررسی دسترس‌پذیری برنامه تماس و گفت‌وگوی دیسکورد\n",
            "Downloading the pair: بریل در ایران و ضرورت گذار از دوگانه‌ها: به سوی کاربست راهبردی تجمیعی-تلفیقی (بخش دوم)\n",
            "Downloading the pair: از یک چشم دیگر: گفت‌و‌گوی نشریه نسل مانا با حدیثه اسدزاده و خانم بازیاری، کارمند نابینا و مدیر مرکز مشاوره ناحیه چهار شیراز\n",
            "Downloading the pair: پذیرش آسیب بینایی یک هدف یا یک مسیر؟ ( بخش دوم)\n",
            "Downloading the pair: سوسوی فانوس دریایی در مه: خدمات سازمان آموزش و پرورش استثنایی برای دانش‌آموزان نابینا و کم‌بینا\n",
            "Downloading the pair: تعطیلی مدیریت‌شده تنها روزنامه نابینایان کشور: مدیرمسئول ایران سپید پاسخگو نیست\n",
            "Downloading the pair: مدیریت چند‌بعدی در مسیر توسعه یافتگی\n",
            "Downloading the pair: نواک: نوای کتاب در گفت‌وگو با صاحبنظران نابینا\n",
            "Downloading the pair: پادشاهان بی تاج و تخت: مشدی اکبر\n",
            "Downloading the pair: اصلاح و اطلاع‌رسانی\n",
            "Downloading the pair: خاطرات آقای موشکاف: خانه از پای‌بست ویران است\n",
            "Crawling https://naslemana.com/2023/01/20/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%af%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b1%db%b3-%d8%af%db%8c/\n",
            "Downloading the pair: نسل مانا و چالش‌های انتشار یک ماهنامۀ دو ساله\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (دی ۱۴۰۱)\n",
            "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژه آسیب‌دیدگان بینایی\n",
            "Downloading the pair: آموزش با‌کیفیت، کلید موفقیت نگاهی به اشکالات روش‌شناختی آموزش بریل به نو‌آموزان در ایران\n",
            "Downloading the pair: پذیرش، اولین قدم در جاده موفقیت\n",
            "Downloading the pair: آکوردها و گام‌های دسترس‌پذیر گیتار و بانجو برای نابینایان و کم‌بینایان\n",
            "Downloading the pair: بریل در ایران و ضرورت گذار از دوگانه‏ها: به‌ سوی کاربست راهبردی تجمیعی-تلفیقی (بخش اول)\n",
            "Downloading the pair: بر بال توانایی گفت‌و‌گوی نسل مانا با مهندس پور‌حسینی، کارفرمایی که اقدام به استخدام افراد نابینا کرده است.\n",
            "Downloading the pair: پذیرش آسیب بینایی، یک هدف یا یک مسیر (بخش اول)\n",
            "Downloading the pair: مواجهه با برهوت حقیقت پذیرش آسیب بینایی توسط خانواده‌ها و افراد نابینا و کم‌بینا، بعد از بروز معلولیت\n",
            "Downloading the pair: تخلفی به بزرگی جامعه نابینایان کشور نگاهی به انحراف بهزیستی در تأمین تجهیزات آموزشی و توانبخشی نابینایان و کم‌بینایان\n",
            "Downloading the pair: نواک: نوای کتاب در گفت‌وگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: به قلم شما: باور به فردای روشن\n",
            "Downloading the pair: بیمه‌ های زندگی‌، نیاز یا ضرورت\n",
            "Downloading the pair: خاطرات آقای موشکاف\n",
            "Crawling https://naslemana.com/2022/12/21/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%a7%d9%88%d9%84-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b1%db%b2-%d8%a2%d8%b0/\n",
            "Downloading the pair: رئیس جمهوری که به مشکلات معلولین دستور حل شدن می‌دهد\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (آذر ۱۴۰۱)\n",
            "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
            "Downloading the pair: تندیس جشنواره گامینو در دستان قهرمانان مجازی: تقدیر از ده سال فعالیت داوطلبانه کاربران نابینا و کم‌بینا در فضای مجازی\n",
            "Downloading the pair: آموزش فراگیر، از واقعیت تا توهم\n",
            "Downloading the pair: چرا بهتر است والدین کودکان با آسیب بینایی با مراکز آموزش استثنایی در ارتباط باشند\n",
            "Downloading the pair: تایپ آسان در تلفن‌های هوشمند با هیبل وان\n",
            "Downloading the pair: سخنی از پشت میز: گفت‌و‌گوی نشریۀ نسل مانا با علیرضا غفاری\n",
            "Downloading the pair: اولین همایش گروه گشت سپید و افتتاح نمادین قله نابینایان\n",
            "Downloading the pair: پرورش تفکر انتقادی در افراد با آسیب بینایی\n",
            "Downloading the pair: دانشگاه و چالش‌های دانشجویان نابینا و کم‌بینا\n",
            "Downloading the pair: ضرورت راه‌اندازی مرکز آموزشی‌توانبخشی معلولین بینایی بازمانده از تحصیل\n",
            "Downloading the pair: نواک: نوای کتاب در گفت‌وگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: پژوهش‌نامه‌ای با چاشنی درود‌های فراوان\n",
            "Crawling https://naslemana.com/2022/11/21/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b1%db%b1-%d8%a2%d8%a8%d8%a7%d9%86-%db%b1%db%b4%db%b0%db%b1/\n",
            "Downloading the pair: استعفای اعضای هیئت مدیره شمنا/ پشت در‌های شبکه ملی نابینایان ایران چه می‌گذرد\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (آبان ۱۴۰۱)\n",
            "Downloading the pair: پیشخوان: مروری بر وبسایت‌ها و پادکست‌های انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
            "Downloading the pair: پنهان نمی‌کنم! لازم باشد افتخار هم می‌کنم!\n",
            "Downloading the pair: اعتماد، قانون کلاس من است\n",
            "Downloading the pair: واکس‌لنز: یک خط کد برای دسترس‌پذیری نمودارها و گراف‌ها\n",
            "Downloading the pair: فیلترینگ و اشتغال نیم‌بند نابینایان\n",
            "Downloading the pair: گزارش: زمین‌های وقفی اصفهان، ثروتی هنگفت در دست اغیار\n",
            "Downloading the pair: حفظ سلامت روان در افراد با آسیب بینایی\n",
            "Downloading the pair: والدین با آسیب بینایی و مدیریت امور تحصیلی فرزندان بینا\n",
            "Downloading the pair: یادداشت میهمان: پاسخ به چالش‌های والدین دارای کودک نابینا در یک کتاب\n",
            "Downloading the pair: نواک: نوای کتاب در گفت‌و‌گو با متخصصان نابینا\n",
            "Downloading the pair: اطلاع‌رسانی\n",
            "Crawling https://naslemana.com/2022/10/22/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b1%db%b0-%d9%85%d9%87%d8%b1-%db%b1%db%b4%db%b0%db%b1/\n",
            "Downloading the pair: پارالمپیک در ایران و جهان: ورزشکارانی که در سازمان متبوع خود هم غریبه هستند\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (مهر ۱۴۰۱)\n",
            "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژه آسیب‌دیدگان بینایی\n",
            "Downloading the pair: برای دانش‌آموزان، برای آینده…\n",
            "Downloading the pair: پیوستگی در تعامل، از زبان دو دوست، هم‌قدم و هم‌‌‌‌خانه نابینا\n",
            "Downloading the pair: نُه ترفند برای دسترس‌پذیرکردن پست‌های شبکه‌های اجتماعی برای همه\n",
            "Downloading the pair: کلیشه‌های پاییز وحشی\n",
            "Downloading the pair: به بهانه آغاز دهمین سال فعالیت گروه کوهنوردی عصای سفید کردستان کوهنوردی افراد دارای آسیب بینایی در یک نگاه\n",
            "Downloading the pair: چگونه افراد نابینا می‌توانند کیفیت خوابشان را بهبود دهند\n",
            "Downloading the pair: مغازه‌داری نابینا، مسئله این است! گفت‌و‌گوی نسل مانا با محمد شریفی، مغازه‌دار نابینا\n",
            "Downloading the pair: رفع موانع اجرای قانون جامع حمایت از حقوق معلولان، مهمترین اولویت جامعه نابینایان ایران\n",
            "Downloading the pair: مدیریت مالی و سرمایه‌گذاری افراد نابینا و کم‌بینا\n",
            "Downloading the pair: نواک، نوای کتاب در گفت‌وگو با متخصصان نابینا\n",
            "Downloading the pair: دهه شصتی باشید تا کامروا شوید\n",
            "Crawling https://naslemana.com/2022/09/23/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b9-%d8%b4%d9%87%d8%b1%db%8c%d9%88%d8%b1-%db%b1%db%b4%db%b0%db%b1/\n",
            "Downloading the pair: لزوم بهره‌گیری از نگاه حرفه‌ای به فعالیت‌های نابینایان در فضای مجازی\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (شهریور ۱۴۰۱)\n",
            "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژه آسیب‌دیدگان بینایی\n",
            "Downloading the pair: پدر و مادر عزیز، بگذارید زندگی را لمس کنم!\n",
            "Downloading the pair: حفظ تعادل، رمز تداوم موقعیت‌های مفید\n",
            "Downloading the pair: تاریخچه پنهان صفحه‌خوان‌ها (بخش پایانی)\n",
            "Downloading the pair: دفتر امور دانشجویان دارای معلولیت، راهی به‌سوی برابری آموزشی\n",
            "Downloading the pair: ر فراز ابر‌ها: گزارشی از صعود گروه کوهنوردی عصای سفید کردستان به قله سماموس\n",
            "Downloading the pair: مدیریت استرس، بخش پایانی\n",
            "Downloading the pair: سخن طرح و تدبیر: گفت‌و‌گوی نشریۀ نسل مانا با داوود خلیل‌آبادگان\n",
            "Downloading the pair: نقدی بر نمایش رادیویی معجزه عظیم، تولید شده به دست گروهی از نابینایان\n",
            "Downloading the pair: تازه‌های کتاب صوتی\n",
            "Downloading the pair: بانک‌ها به تکلیف قانونی خود در خصوص نابینایان عمل کنند\n",
            "Downloading the pair: ای قشنگ‌تر از پریا! تنها تو کوچه نریا\n",
            "Crawling https://naslemana.com/2022/08/22/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%a7%d9%88%d9%84-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b8-%d9%85%d8%b1%d8%af/\n",
            "Downloading the pair: بی‌برنامگی، آفت جدی انجمن‌های نابینایی\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران: مرداد ۱۴۰۱\n",
            "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
            "Downloading the pair: بازار بی‌فروغ آموزش جهت‌یابی و حرکت\n",
            "Downloading the pair: تاریخچه پنهان صفحه‌خوان‌ها (بخش اول)\n",
            "Downloading the pair: تعامل مؤثر با چاشنی خلاقیت، کلید موفقیت دانشجوی نخبۀ نابینا\n",
            "Downloading the pair: فرهنگ نذر؛ نذر فرهنگی\n",
            "Downloading the pair: از سهمی که می‌بریم: گفت‌و‌گوی نشریه نسل مانا با فرهاد محمدی، فعال بازار‌های مالی\n",
            "Downloading the pair: مدیریت استرس (بخش اول)\n",
            "Downloading the pair: شغل پیدا‌کردن افراد نابینا و کم‌بینا\n",
            "Downloading the pair: انگیزه + اندیشه = موفقیان\n",
            "Downloading the pair: تازه‌های کتاب صوتی\n",
            "Downloading the pair: مختصری در خصوص جشنوارۀ فرهنگی‌هنری معلولان زاگرس\n",
            "Downloading the pair: به قلم شما\n",
            "Downloading the pair: به قلم شما\n",
            "Downloading the pair: همه‌چیز دربارۀ مراسم داربست‌زنی نابینایان در ایام محرم\n",
            "Crawling https://naslemana.com/2022/07/22/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%a7%d9%88%d9%84-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b7-%d8%aa%db%8c%d8%b1/\n",
            "Downloading the pair: به تبعیض علیه نابینایان پایان دهید\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (تیر ۱۴۰۱)\n",
            "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
            "Downloading the pair: طاقت بیار رفیق! ده راهکار تقویت تاب‌آوری\n",
            "Downloading the pair: معرفی درشت‌نمای اسمارتلاکس دیجیتال از شرکت اشینباخ\n",
            "Downloading the pair: تعامل مفید و مؤثر، نتیجه تلاش و مسؤولیت‌پذیری\n",
            "Downloading the pair: بهزیستی، سازمانی پارادوکسیکال و آرمانی\n",
            "Downloading the pair: چنین گفت فروشنده: گفت‌و‌گوی نشریه نسل مانا با عطیه حاج‌حسن\n",
            "Downloading the pair: چگونه حرکات کلیشه‌ای و رفتار‌های نابینایی را کنترل کنیم؟\n",
            "Downloading the pair: ورزش‌کردن افراد نابینا و کم‌بینا\n",
            "Downloading the pair: نقدی بر زودرنجی معلولین و آسیب‌های اجتماعی ناشی از آن\n",
            "Downloading the pair: تازه‌های کتاب صوتی\n",
            "Downloading the pair: گزارش صعود گروه کوهنوردی عصای سفید کردستان به قله چلچمه\n",
            "Downloading the pair: ما و بهزیستی و آش شله‌قلمکار\n",
            "Crawling https://naslemana.com/2022/06/21/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%a7%d9%88%d9%84-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b6-%d8%ae%d8%b1%d8%af/\n",
            "Downloading the pair: شمنا در مسیر چاووش/ شبکه‌هایی که ملی نیستند\n",
            "Downloading the pair: لمس تاریخ برای نابینایان در موزه ملی ایران: گزارش صوتی نسل مانا از امکانات موزه ملی ایران برای مراجعان دارای آسیب بینایی\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران: خرداد ۱۴۰۱\n",
            "Downloading the pair: پیشخوان: مروری بر وبسایت‌ها و نشریات انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
            "Downloading the pair: دوستی که پنهانش می‌کنیم\n",
            "Downloading the pair: چه خبر از کنفرانس سی‌اس‌یو‌ان ۲۰۲۲\n",
            "Downloading the pair: درک متقابل، کلید موفقیت نابینایان در موقعیت‌های ناشناخته\n",
            "Downloading the pair: نقش انجمن‌های حوزه معلولان در ایجاد تغییرات فرهنگی\n",
            "Downloading the pair: سفر رفتن افراد نابینا و کم‌بینا\n",
            "Downloading the pair: چگونه از ارتباطات غیرکلامی و زبان بدن استفاده کنیم\n",
            "Downloading the pair: بریل و گرافیک لمسی در سی‌اس‌یو‌ان ۲۰۲۲\n",
            "Downloading the pair: نان صحنه هنرمندی: :گفت‌و‌گوی نسل مانا با محسن محمد‌قلی: صحنه‌گردان نابینا\n",
            "Downloading the pair: تازه‌های کتاب صوتی\n",
            "Downloading the pair: از حرف تا عمل با نابینایان\n",
            "Crawling https://naslemana.com/2022/05/21/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%a7%d9%88%d9%84-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b5-%d8%a7%d8%b1%d8%af/\n",
            "Downloading the pair: بررسی راه‌اندازی روزنامۀ ویژۀ نابینایان بدون حضور نابینایان\n",
            "Downloading the pair: نسل مانا، مهمان روس‌ها در نمایشگاه اینوتکس\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (اردیبهشت ۱۴۰۱)\n",
            "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
            "Downloading the pair: نقش محوری آموزگاران کودکان آسیب‌دیدۀ بینایی در آموزش‌وپرورش امروز\n",
            "Downloading the pair: علوم دسترس‌پذیر؛ شیمی ۱۰۱\n",
            "Downloading the pair: فردایی روشن برای نسل امروز: پای صحبت‌های یک زوج نابینا\n",
            "Downloading the pair: مهمانی‌رفتن افراد نابینا و کم‌بینا\n",
            "Downloading the pair: بر مدارِ مدار صفر و یک: گفت‌وگوی نشریۀ نسل مانا با شادیار خدایاری؛ برنامه‌نویس نابینا و دارای مدرک کارشناسی‌ارشد مهندسی نرم‌افزار کامپیوتر\n",
            "Downloading the pair: روابط عاطفی؛ از آشنایی تا تنظیم قرار ملاقات\n",
            "Downloading the pair: تازه‌های کتاب صوتی\n",
            "Downloading the pair: نقدی مغرضانه بر میزان شایسته‌سالاری در جامعۀ نابینایان\n",
            "Crawling https://naslemana.com/2022/04/20/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%a7%d9%88%d9%84-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b4-%d9%81%d8%b1%d9%88/\n",
            "Downloading the pair: چگونه جامعۀ نابینایان برنامه‌سازان عصر جدید را پاسخگو کرد\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران: فروردین ۱۴۰۱\n",
            "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
            "Downloading the pair: نامۀ سرگشادۀ قائم‌مقام انجمن نابینایان ایران خطاب به ریاست‌جمهوری در خصوص پیگیری علت عدم انتشار روزنامۀ ایران سپید\n",
            "Downloading the pair: هیچ معجزه‌ای به‌جز تلاش و تمرین – بخش دوم\n",
            "Downloading the pair: ویژن‌بادی صفحۀ تلویزیون را پیش شما می‌آورد\n",
            "Downloading the pair: آواز زندگی با ریتم موشک و گلوله\n",
            "Downloading the pair: نقش سازمان‌های دولتی و مردم‌نهاد در اشتغال افراد دارای معلولیت\n",
            "Downloading the pair: آشپزی افراد نابینا و کم‌بینا\n",
            "Downloading the pair: با چشم کم‌سو به‌سوی ترک اعتیاد !گفت‌وگوی نشریه نسل مانا با امیر مینایی؛ مدیر و مؤسس کمپ ترک اعتیاد\n",
            "Downloading the pair: راهبرد حل مسئله برای آسیب‌دیدگان بینایی\n",
            "Downloading the pair: درس‌هایی که از عصر جدید علیخانی می‌آموزیم: علت‌یابی یک رفتار نسبتاً متداول\n",
            "Downloading the pair: تازه‌های کتاب صوتی\n",
            "Downloading the pair: شرحی بر انحراف بنیادین برنامۀ عصر جدید\n",
            "Crawling https://naslemana.com/2022/03/20/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%a7%d9%88%d9%84-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b3-%d8%a7%d8%b3%d9%81/\n",
            "Downloading the pair: لزوم تغییر سیاست‌گذاری‌های شغلی برای نابینایان\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران: اسفند ۱۴۰۰\n",
            "Downloading the pair: پیش‌خوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
            "Downloading the pair: رنگ رنگ تا پیروزی؛ آنچه نابینایان باید از جادوی رنگ‌ها بدانند\n",
            "Downloading the pair: نقش نظم در زندگی افراد نابینا\n",
            "Downloading the pair: کنفرانس سایت تک گلوبال برای سال دوم بازمی‌گردد\n",
            "Downloading the pair: دست‌ورزیِ مرد دست ‌ورزیده گفت‌وگوی نسل مانا با حسین ایرانی\n",
            "Downloading the pair: فرهنگ‌سازی یا فرهنگ‌سوزی؛ کودک‌آزاری در فضای مجازی و مسئله معلولیت\n",
            "Downloading the pair: از نابینایان برای نابینایان: اسرار موفقیت در خانه‌تکانی\n",
            "Downloading the pair: تکنیک‌هایی برای توفیق در دوست‌یابی\n",
            "Downloading the pair: معلولیت و  دغدغه عدالت اجتماعی در توزیع لوازم و تجهیزات توان‌بخشی\n",
            "Downloading the pair: تازه‌های کتاب صوتی\n",
            "Downloading the pair: غلتی در قهوه: تور شنیداری نسل مانا در یک کارگاه تولید قهوه\n",
            "Downloading the pair: به قلم شما\n",
            "Downloading the pair: با معلولین برای مسئولین\n",
            "Crawling https://naslemana.com/2022/02/19/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%a7%d9%88%d9%84-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b2-%d8%a8%d9%87%d9%85/\n",
            "Downloading the pair: مدیریتی که تحول‌آفرین نیست\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران: بهمن ۱۴۰۰\n",
            "Downloading the pair: پیش‌خوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
            "Downloading the pair: هیچ معجزه‌ای، به‌جز تلاش و تمرین!\n",
            "Downloading the pair: گذر از تندباد سختی‌ها\n",
            "Downloading the pair: ده روش استفاده از برنامۀ بی مای آیز برای تشخیص رنگ‌ها\n",
            "Downloading the pair: پیچ‌وتاب پیشۀ مشاور:گفت‌وگوی نشریۀ نسل مانا با بیتا راد؛ روان‌شناس\n",
            "Downloading the pair: جای خالی معلولان در رویدادهای فرهنگی\n",
            "Downloading the pair: هدیه‌خریدن فرد نابینا و کم‌بینا\n",
            "Downloading the pair: پنج گام در پذیرش از دست دادن بینایی\n",
            "Downloading the pair: نسل مانا: سوسوی مانایی خط بریل در تأمین نیازهای اطلاعاتی نابینایان در ایران\n",
            "Downloading the pair: تازه‌های کتاب صوتی\n",
            "Downloading the pair: مجرم باشید تا خدمت کنید\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "# Add new magazine\n",
        "In case you want to crawl a single magazine, paste its url to the `candidate_url` variable and set the `last_available_file` variable to the gretest index of the previously crawled raw files. Then run the following code."
      ],
      "metadata": {
        "id": "L3Wml_q7r6gf"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Initialize the metadata DataFrame\n",
        "metadata_df = pd.DataFrame(columns=[\"magazine_name\", \"magazine_url\", \"subject\", \"audio_url\", \"text_url\", \"file_name\"])"
      ],
      "metadata": {
        "id": "DwGRgm2gvwUg"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "last_available_file = 552\n",
        "candidate_url = 'https://naslemana.com/2024/05/20/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%b3%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b2%db%b9-%d8%a7%d8%b1/'"
      ],
      "metadata": {
        "id": "4jNWu9IUvy1q"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "candidate_response = requests.get(candidate_url)\n",
        "candidate_soup = BeautifulSoup(candidate_response.text, 'html.parser')\n",
        "\n",
        "# Find elements with \"(صوت)\" and a link to an .mp3 file\n",
        "audio_elements = candidate_soup.find_all('a', href=lambda href: href and href.endswith('.mp3'), string=lambda string: string and '(صوت)' in string)\n",
        "\n",
        "\n",
        "if audio_elements:    # The candidate page is for a magazine\n",
        "  print(f\"Crawling {candidate_url}\")\n",
        "\n",
        "for audio_element in audio_elements:\n",
        "    audio_url = audio_element['href']\n",
        "    audio_text = audio_element.text.replace('(صوت)', '').strip()\n",
        "\n",
        "    # Look for a corresponding element with \"(متن)\"\n",
        "    text_element = candidate_soup.find('a', string=lambda string: string and '(متن)' in string and audio_text in string)\n",
        "    if text_element:\n",
        "        text_url = text_element['href']\n",
        "\n",
        "        # Extract text from the text page\n",
        "        title, subtitle, body_text = extract_text(text_url)\n",
        "\n",
        "        # Prepare the subject by removing specific words\n",
        "        subject = title.replace('(متن)', '').replace('(صوت)', '')\n",
        "\n",
        "        print(f\"Downloading the pair: {subject}\")\n",
        "\n",
        "        # Download the audio file\n",
        "        file_name = f\"{save_dir}/{len(metadata_df) + last_available_file}.mp3\"\n",
        "        download_file(audio_url, file_name)\n",
        "\n",
        "        # Save the text to a file\n",
        "        text_file_name = f\"{save_dir}/{len(metadata_df) + last_available_file}.txt\"\n",
        "        with open(text_file_name, 'w', encoding='utf-8') as f:\n",
        "            f.write(f\"{title}\\n{subtitle}\\n{body_text}\")\n",
        "\n",
        "        # Update the metadata\n",
        "        metadata_df = pd.concat([metadata_df, pd.DataFrame([{\n",
        "            \"magazine_name\": candidate_soup.find('span', class_='post-title', itemprop='headline').text,\n",
        "            \"magazine_url\": candidate_url,\n",
        "            \"subject\": subject,\n",
        "            \"audio_url\": audio_url,\n",
        "            \"text_url\": text_url,\n",
        "            \"file_name\": f\"{len(metadata_df) + last_available_file}\"\n",
        "        }])], ignore_index=True)\n",
        "\n",
        "        # Save the metadata to a CSV file after each pair\n",
        "        metadata_df.to_csv(f\"{save_dir}/metadata.csv\", index=False)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "MgeOx7PHre9m",
        "outputId": "a658304a-3bab-4654-c425-77651952a185"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Crawling https://naslemana.com/2024/05/20/%d9%85%d8%a7%d9%87%d9%86%d8%a7%d9%85%d9%87-%d9%86%d8%b3%d9%84-%d9%85%d8%a7%d9%86%d8%a7-%d8%b3%d8%a7%d9%84-%d8%b3%d9%88%d9%85-%d8%b4%d9%85%d8%a7%d8%b1%d9%87-%db%b2%db%b9-%d8%a7%d8%b1/\n",
            "Downloading the pair: نگاهی به مسائل مطرح‌شده در همایش هم‌بینایی و زیستی نو\n",
            "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (اردیبهشت ۱۴۰۳)\n",
            "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
            "Downloading the pair: می‌ریم اردو: نگاهی به آثار مثبت اردوهای دانش‌آموزی\n",
            "Downloading the pair: تعامل در محل کار\n",
            "Downloading the pair: نمایشگاه گروه سونی در بزرگ‌ترین کنفرانس بین‌المللی دسترس‌پذیری در جهان\n",
            "Downloading the pair: مؤسسۀ رودکی در فراز و نشیب چندین‌ساله\n",
            "Downloading the pair: شوخی کردن با معلولیت: طنز یا توهین؟\n",
            "Downloading the pair: نابینایان و صندوق امانات بانک‌ها\n",
            "Downloading the pair: همسفر با کوله‌گرد رها  نامۀ دوم: زندگی‌نورد شوق‌مند\n",
            "Downloading the pair: نقاشی با کلمات قسمت چهارم: کاربران توضیحات صوتی چه کسانی هستند؟\n",
            "Downloading the pair: معلولین و ضرورت دسترس‌پذیری\n",
            "Downloading the pair: منشی نابینای دادگاه از شغلش می‌گوید\n",
            "Downloading the pair: روستای نابینایان\n",
            "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
            "Downloading the pair: خانه از پای‌بست ویران است\n",
            "Downloading the pair: اطلاع‌رسانی\n"
          ]
        }
      ]
    }
  ]
}