ManaTTS is the largest open Persian speech dataset with 86+ hours of transcribed audio. Includes data collection pipeline and tools. Suitable for Persian text-to-speech models.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ManaTTS_Crawling.ipynb 67KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715
  1. {
  2. "nbformat": 4,
  3. "nbformat_minor": 0,
  4. "metadata": {
  5. "colab": {
  6. "provenance": []
  7. },
  8. "kernelspec": {
  9. "name": "python3",
  10. "display_name": "Python 3"
  11. },
  12. "language_info": {
  13. "name": "python"
  14. }
  15. },
  16. "cells": [
  17. {
  18. "cell_type": "markdown",
  19. "source": [
  20. "# ManaTTS Crawling\n",
  21. "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."
  22. ],
  23. "metadata": {
  24. "id": "LbFqDhirv6aw"
  25. }
  26. },
  27. {
  28. "cell_type": "markdown",
  29. "source": [
  30. "# Crawl audio-transcription pairs"
  31. ],
  32. "metadata": {
  33. "id": "wT2n-qYr8zRm"
  34. }
  35. },
  36. {
  37. "cell_type": "code",
  38. "source": [
  39. "import requests\n",
  40. "from bs4 import BeautifulSoup\n",
  41. "import pandas as pd\n",
  42. "import os\n",
  43. "import logging\n",
  44. "from google.colab import drive"
  45. ],
  46. "metadata": {
  47. "id": "ti0uxO-GxtxL"
  48. },
  49. "execution_count": null,
  50. "outputs": []
  51. },
  52. {
  53. "cell_type": "code",
  54. "source": [
  55. "# Configure logging for link not on naslemana.com\n",
  56. "logging.basicConfig(filename='naslemana_log.log', level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')"
  57. ],
  58. "metadata": {
  59. "id": "ioR1Ia0JyeGL"
  60. },
  61. "execution_count": null,
  62. "outputs": []
  63. },
  64. {
  65. "cell_type": "code",
  66. "source": [
  67. "# Define the base URL and the directory to save files\n",
  68. "base_url = \"https://naslemana.com/\"\n",
  69. "\n",
  70. "save_dir = \"raw-data/\"\n",
  71. "os.makedirs(save_dir, exist_ok=True)"
  72. ],
  73. "metadata": {
  74. "id": "g0FCSb80ykGe"
  75. },
  76. "execution_count": null,
  77. "outputs": []
  78. },
  79. {
  80. "cell_type": "code",
  81. "source": [
  82. "# Function to download a file\n",
  83. "def download_file(url, save_path):\n",
  84. " if not url.startswith(base_url):\n",
  85. " logging.info(f\"Link not starting with naslemana.com: {url}\")\n",
  86. " return\n",
  87. " response = requests.get(url, stream=True)\n",
  88. " with open(save_path, 'wb') as out_file:\n",
  89. " out_file.write(response.content)"
  90. ],
  91. "metadata": {
  92. "id": "6HuCQCn0vMCB"
  93. },
  94. "execution_count": null,
  95. "outputs": []
  96. },
  97. {
  98. "cell_type": "code",
  99. "source": [
  100. "# Function to extract text from a page\n",
  101. "def extract_text(url):\n",
  102. " response = requests.get(url)\n",
  103. " soup = BeautifulSoup(response.text, 'html.parser')\n",
  104. " title = soup.find('span', class_='post-title', itemprop='headline').text\n",
  105. " subtitle = soup.find('h2', class_='post-subtitle')\n",
  106. " if subtitle:\n",
  107. " subtitle = subtitle.text\n",
  108. " else:\n",
  109. " subtitle = \"\"\n",
  110. " body_text = \" \".join([p.text for p in soup.find_all('div', class_='entry-content clearfix single-post-content')])\n",
  111. " return title, subtitle, body_text"
  112. ],
  113. "metadata": {
  114. "id": "HneGHxLxzVV2"
  115. },
  116. "execution_count": null,
  117. "outputs": []
  118. },
  119. {
  120. "cell_type": "code",
  121. "source": [
  122. "# Initialize the metadata DataFrame\n",
  123. "metadata_df = pd.DataFrame(columns=[\"magazine_name\", \"magazine_url\", \"subject\", \"audio_url\", \"text_url\", \"file_name\"])"
  124. ],
  125. "metadata": {
  126. "id": "Ls1dlV_HvQ3V"
  127. },
  128. "execution_count": null,
  129. "outputs": []
  130. },
  131. {
  132. "cell_type": "code",
  133. "source": [
  134. "# Crawl the pages\n",
  135. "for page_num in range(1, 6):\n",
  136. " page_url = f\"{base_url}page/{page_num}/\"\n",
  137. " response = requests.get(page_url)\n",
  138. " soup = BeautifulSoup(response.text, 'html.parser')\n",
  139. "\n",
  140. " # Find candidate pages\n",
  141. " candidate_pages = soup.find_all('a', class_='read-more')\n",
  142. " for candidate in candidate_pages:\n",
  143. " candidate_url = candidate['href']\n",
  144. " candidate_response = requests.get(candidate_url)\n",
  145. " candidate_soup = BeautifulSoup(candidate_response.text, 'html.parser')\n",
  146. "\n",
  147. " # Find elements with \"(صوت)\" and a link to an .mp3 file\n",
  148. " audio_elements = candidate_soup.find_all('a', href=lambda href: href and href.endswith('.mp3'), string=lambda string: string and '(صوت)' in string)\n",
  149. "\n",
  150. " if audio_elements: # The candidate page is for a magazine\n",
  151. " print(f\"Crawling {candidate_url}\")\n",
  152. "\n",
  153. " for audio_element in audio_elements:\n",
  154. " audio_url = audio_element['href']\n",
  155. " audio_text = audio_element.text.replace('(صوت)', '').strip()\n",
  156. "\n",
  157. " # Look for a corresponding element with \"(متن)\"\n",
  158. " text_element = candidate_soup.find('a', string=lambda string: string and '(متن)' in string and audio_text in string)\n",
  159. " if text_element:\n",
  160. " text_url = text_element['href']\n",
  161. "\n",
  162. " # Extract text from the text page\n",
  163. " title, subtitle, body_text = extract_text(text_url)\n",
  164. "\n",
  165. " # Prepare the subject by removing specific words\n",
  166. " subject = title.replace('(متن)', '').replace('(صوت)', '')\n",
  167. "\n",
  168. " print(f\"Downloading the pair: {subject}\")\n",
  169. "\n",
  170. " # Download the audio file\n",
  171. " file_name = f\"{save_dir}/{len(metadata_df) + 164}.mp3\"\n",
  172. " download_file(audio_url, file_name)\n",
  173. "\n",
  174. " # Save the text to a file\n",
  175. " text_file_name = f\"{save_dir}/{len(metadata_df) + 164}.txt\"\n",
  176. " with open(text_file_name, 'w', encoding='utf-8') as f:\n",
  177. " f.write(f\"{title}\\n{subtitle}\\n{body_text}\")\n",
  178. "\n",
  179. " # Update the metadata\n",
  180. " metadata_df = pd.concat([metadata_df, pd.DataFrame([{\n",
  181. " \"magazine_name\": candidate_soup.find('span', class_='post-title', itemprop='headline').text,\n",
  182. " \"magazine_url\": candidate_url,\n",
  183. " \"subject\": subject,\n",
  184. " \"audio_url\": audio_url,\n",
  185. " \"text_url\": text_url,\n",
  186. " \"file_name\": f\"{len(metadata_df) + 164}\"\n",
  187. " }])], ignore_index=True)\n",
  188. "\n",
  189. " # Save the metadata to a CSV file after each pair\n",
  190. " metadata_df.to_csv(f\"{save_dir}/metadata.csv\", index=False)"
  191. ],
  192. "metadata": {
  193. "colab": {
  194. "base_uri": "https://localhost:8080/"
  195. },
  196. "id": "hHBXPoT-x0Ti",
  197. "outputId": "0db8a22c-80d5-4bf0-b253-594ed03e341c"
  198. },
  199. "execution_count": null,
  200. "outputs": [
  201. {
  202. "output_type": "stream",
  203. "name": "stdout",
  204. "text": [
  205. "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",
  206. "Downloading the pair: چرایی عدم شرکت معلولان در تجمعات سراسری\n",
  207. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (بهمن ۱۴۰۲)\n",
  208. "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
  209. "Downloading the pair: دست در دست هم معجزه می‌آفرینیم\n",
  210. "Downloading the pair: تعامل در خرید (بخش نخست)\n",
  211. "Downloading the pair: بریل‌بات؛ پروژه‌ای رایگان و منبع‌باز برای یادگیری بریل\n",
  212. "Downloading the pair: ماجرای یک تفاهم‌نامۀ عجیب‌: چوب حراج سازمان بهزیستی به ۲۷۰ میلیارد تومان اعتبار سفرهای رایگان معلولان\n",
  213. "Downloading the pair: تقلیل ساعات کاری افراد دارای معلولیت: آری یا نه؟!\n",
  214. "Downloading the pair: مشاغل از نگاه یوتیوبر نابینا\n",
  215. "Downloading the pair: نابینایان و کاندیداتوری مجلس شورای اسلامی\n",
  216. "Downloading the pair: تلویزیون ایران و پخش فیلم‌های توصیف ‌صوتی‌شده\n",
  217. "Downloading the pair: یاد و خاطره از مهم‌ترین آموزشگاه نابینایان در تهران\n",
  218. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
  219. "Downloading the pair: نامه‌ای به یک دوست : هفته‌روزنامۀ ایران سپید؛ اولین رسانۀ هوشمند در جهان\n",
  220. "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",
  221. "Downloading the pair: ریل‌گذاری‌های نسل مانا برای سال پیش‌ رو\n",
  222. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (دی ۱۴۰۲)\n",
  223. "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریه‌های انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
  224. "Downloading the pair: آنجا که رنگ و نور و تماشا بریل شد؛ نگاهی به جایگاه بریل در دنیای امروز و مقایسه آن با ایران\n",
  225. "Downloading the pair: پیچ و خم‌های تعامل والدین نابینا و فرزندانشان\n",
  226. "Downloading the pair: چگونه هوش مصنوعی می‌تواند در مسیریابی به نابینایان و کم‌بینایان کمک کند\n",
  227. "Downloading the pair: وضعیت اعتبار شهادت نابینایان و ناشنوایان در دادگاه‌ها\n",
  228. "Downloading the pair: کدام‌یک کار‌آمدتر است: آموزش در مدارس استثنایی یا به‌صورت تلفیقی\n",
  229. "Downloading the pair: مشاغل از نگاه یوتیوبر نابینا\n",
  230. "Downloading the pair: آموزش جهت‌يابي به نابینایان، متولی ندارد\n",
  231. "Downloading the pair: تازه‌های بیماری آرپی\n",
  232. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
  233. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
  234. "Downloading the pair: تبعیض زیر نام برابری جولان می دهد\n",
  235. "Downloading the pair: فرصت‌ها را نسوزانید\n",
  236. "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",
  237. "Downloading the pair: ایران بی‌معلولیت بامدیران بی‌مسؤولیت امکان‌پذیر نیست\n",
  238. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (آذر ۱۴۰۲)\n",
  239. "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
  240. "Downloading the pair: شجاع باش! خطر کن! هیچ چیز نمی‌تواند جای تجربه را بگیرد!\n",
  241. "Downloading the pair: آنچه افراد بینا لازم است از کمک کردن به نابینایان بدانند\n",
  242. "Downloading the pair: عکس‌های سه‌بعدی که نابینایان هم می‌توانند آنها را تجربه کنند\n",
  243. "Downloading the pair: مشاغل از نگاه سَم سیوی\n",
  244. "Downloading the pair: روند دادرسی افراد دارای معلولیت\n",
  245. "Downloading the pair: سر‌انگشتان زن نابینا، در جستجوی طلای سرخ\n",
  246. "Downloading the pair: تحریم پشت تحریم: نگاهی به آثار فیلترینگ بر فعالیت‌های نابینایان\n",
  247. "Downloading the pair: نگاهی به برنامۀ درسی دانش‌آموزان با آسیب بینایی\n",
  248. "Downloading the pair: همسرایی نهنگ‌ها در میان آب‌های آلوده (توان‌بخشی شغلی و کار پیدا کردن افراد نابینا و کم‌بینا)\n",
  249. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
  250. "Downloading the pair: نخستین زندگی‌نامۀ نابینایان\n",
  251. "Downloading the pair: آوایی از لابلای کتاب‌های تصویری کودکان (تجسم کتاب‌های تصویری کودکان تنها از طریق صدا)\n",
  252. "Downloading the pair: اشک‌های شوق یلدا برف شد\n",
  253. "Downloading the pair: بابا تو دیگه کی هستی؟!\n",
  254. "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",
  255. "Downloading the pair: نتایج قابل انتظار ورزشکاران نابینا و کم‌بینا در پاراآسیایی هانگژو\n",
  256. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (آبان ۱۴۰۲)\n",
  257. "Downloading the pair: پیشخوان: مروری بر جدید‌ترین پادکست‌ها و نشریه‌های انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی ا\n",
  258. "Downloading the pair: زندگی میدان رقابت نیست: قهرمان خودت باش!\n",
  259. "Downloading the pair: در انتظار غروبی خاکستری\n",
  260. "Downloading the pair: نگاهی به امکان استفاده از هوش مصنوعی برای تشخیص تصاویر در برنامه بی مای آیز\n",
  261. "Downloading the pair: وکیل پایه1 دادگستری: فعالیت کمپین‌ معلولان قانونی است‌\n",
  262. "Downloading the pair: مشاغل از نگاه یوتیوبر نابینا\n",
  263. "Downloading the pair: معلولان و حقوق کار\n",
  264. "Downloading the pair: تولد شکوفه‌ها در شوره‌زار (کشف و پرورش استعداد‌های افراد نابینا و کم‌بینا)\n",
  265. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
  266. "Downloading the pair: برای ۱۲ آذر روز جهانی معلولین\n",
  267. "Downloading the pair: سال‌شمار زندگی و خدمات احمد رضا\n",
  268. "Downloading the pair: پیش اعترافات یک جاسوس ای هدهد صبا به سبا می‌فرستمت\n",
  269. "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",
  270. "Downloading the pair: دست خالی معلولان در برنامۀ هفتم توسعه: نمایندگانی که از حق معلولان دفاع نکردند\n",
  271. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (مهر ۱۴۰۲)\n",
  272. "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریه‌های انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
  273. "Downloading the pair: ورود به دانشگاه: طعمی میان عشق و اضطراب\n",
  274. "Downloading the pair: سفرنامه استانبول در ایستگاه آخر\n",
  275. "Downloading the pair: دسترس‌پذیر کردن ریاضیات برای نابینایان و کم‌بینایان\n",
  276. "Downloading the pair: دنیای اینترنت، منهای نابینایان بستر اینترنت، خانۀ دوم معلولان است\n",
  277. "Downloading the pair: مشاغل از نگاه سَم سیوی\n",
  278. "Downloading the pair: قانون عصای سفید\n",
  279. "Downloading the pair: اتحاد مورچه‌ها در برابر سیلاب (نقش مهارت‌های ارتباطی در زندگی افراد نابینا و کم‌بینا)\n",
  280. "Downloading the pair: به قلم شما\n",
  281. "Downloading the pair: احمد رضا در آینۀ منابع\n",
  282. "Downloading the pair: گرامیداشت روز جهانی عصای سفید بر فراز کوه\n",
  283. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحبنظران نابینا\n",
  284. "Downloading the pair: بگذار و بگذر\n",
  285. "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",
  286. "Downloading the pair: فروش خیال به رسانه‌ها: نگاهی به ابعاد واقعی عنوان سومی ورزش نابینایان در دنیا\n",
  287. "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
  288. "Downloading the pair: به‌وقت جوانه زدن در پاییز؛ گذار از بحران بریل بر عهدۀ متولیان آموزش\n",
  289. "Downloading the pair: بازار استانبول، محل تلاقی دریا و پرندگان و آفتاب و آسمان\n",
  290. "Downloading the pair: دسترس‌پذیری در بازی‌های رایانه‌ای\n",
  291. "Downloading the pair: بریل‌های ناگزیر\n",
  292. "Downloading the pair: مدارس تلفیقی، تلفیق بی‌مهری با دانش‌آموزان نابینا: معلم رابط، مفهومی رنگ‌باخته برای سیستم آموزشی\n",
  293. "Downloading the pair: مدیریت هیجان؛ یک مهارت کلیدی\n",
  294. "Downloading the pair: سرنوشت مادۀ 27 قانون حمایت از معلولان\n",
  295. "Downloading the pair: احمد رضا در آیینۀ منابع\n",
  296. "Downloading the pair: از سنندج گرم تا دالانپر سرد\n",
  297. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحبنظران نابینا\n",
  298. "Downloading the pair: یک سوزن به خودمان\n",
  299. "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",
  300. "Downloading the pair: فراموشی مسئولان در قبال ورزش همگانی معلولان\n",
  301. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (مرداد ۱۴۰۲)\n",
  302. "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
  303. "Downloading the pair: پیوند با فضای آکادمیک، راهی برای احیای پیکر نیمه‌جان آموزش نابینایان\n",
  304. "Downloading the pair: یک دوست تازه\n",
  305. "Downloading the pair: آشنایی با او‌ام‌آر و کاربرد آن برای نابینایان\n",
  306. "Downloading the pair: نگاهی به پدیدۀ رد دسته‌جمعی نابینایان پذیرفته‌شده در آزمون استخدامی آموزش‌ و پرورش\n",
  307. "Downloading the pair: همقدم با سَم در دنیای مشاغل\n",
  308. "Downloading the pair: معلولان و چالش استخدام در آموزش و پرورش راهکار و رویکرد حقوقی\n",
  309. "Downloading the pair: چشمه‌ای در دل سنگی کوهستان (چگونگی دسترسی افراد کم‌بینا و نابینا به منابع مطالعاتی)\n",
  310. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
  311. "Downloading the pair: مثلث معلولان، بهزیستی، آموزش و پرورش استثنایی پیرامون کمیته ارزیابی صلاحیت‌ها و توانایی‌های فردی متقاضیان آزمون آموزش و پرورش استثنایی مقطع ابتدایی\n",
  312. "Downloading the pair: احمد رضا نابینای مبتکر، خلاق و تحول آفرین\n",
  313. "Downloading the pair: به قلم شما\n",
  314. "Downloading the pair: اطلاع‌رسانی\n",
  315. "Downloading the pair: مجبورم، می‌فهمی؟ مجبور\n",
  316. "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",
  317. "Downloading the pair: zmپاسخ‌گویی به افکار عمومی،حلقه مفقوده ارتباط بهزیستی با جامعه هدف\n",
  318. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (تیر ۱۴۰۲)\n",
  319. "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
  320. "Downloading the pair: حواله به برزخ، تحفه‌ میزبان‌ به ميهمانان قادری خطاب به خبرنگاران: مفتشی یا وکیل؟\n",
  321. "Downloading the pair: وبسایت‌های خالی و مراکز نیمه‌تعطیل، دستاورد سازمان بهزیستی\n",
  322. "Downloading the pair: سه روز در یک روز\n",
  323. "Downloading the pair: معرفی دو ابزار هوش مصنوعی مینی‌جی‌پی‌تی ـ ۴ و میدجورنی برای توصیف تصاویر\n",
  324. "Downloading the pair: خود‌آگاهی: مهارتی ضروری در بهبود زندگی ما\n",
  325. "Downloading the pair: همقدم با سَم در دنیای مشاغل\n",
  326. "Downloading the pair: سایه ابر در تلاطم گرما (آشنایی با نرم‌افزار‌های توان‌بخشی کاربران نابینا و کم‌بینا برای کامپیوتر و گوشی همراه)\n",
  327. "Downloading the pair: چرخش در بر پاشنه قدیمی: رواج معلول‌زدگی در بهزیستی بهزیستی در ارائه خدمات غیر هزینه‌ای‌ به معلولان ضعیف است\n",
  328. "Downloading the pair: سهمیه سه‌درصد معلولین منهای نابینایان: ده نکته قابل‌تأمل در باب آزمون استخدامی آموزش و پرورش\n",
  329. "Downloading the pair: معلولان و قوانین ایران\n",
  330. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
  331. "Downloading the pair: از موتوری نخرید\n",
  332. "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",
  333. "Downloading the pair: گزارشی از تور تفریحی انجمن نابینایان ایران در بابلسر\n",
  334. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (خرداد 1402)\n",
  335. "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
  336. "Downloading the pair: کارنامه‌ای برای آنها که کارنامه می‌دهند آیا عملکرد مدارس نابینایان نمره قبولی می‌گیرد؟\n",
  337. "Downloading the pair: آغاز سفر: پرواز\n",
  338. "Downloading the pair: نگاهی به دسترس‌پذیری تاکسی‌های آنلاین خود‌ران ویمو برای نابینایان\n",
  339. "Downloading the pair: پرورش تفکّر خلّاق در افراد با آسیب بینایی\n",
  340. "Downloading the pair: همقدم با سم سیوی در دنیای مشاغل\n",
  341. "Downloading the pair: گرمای الکتریسیته در عضلات یخ‌زده (آشنایی با تجهیزات الکترونیکی توان‌بخشی افراد نابینا و کم‌بینا)\n",
  342. "Downloading the pair: تابستان، فصل حبس خانگی نابینایان جامعه برای اوقات فراغت نابینایان برنامه‌ای ندارد\n",
  343. "Downloading the pair: دنیای پرتلاطم آرام\n",
  344. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحبنظران نابینا\n",
  345. "Downloading the pair: اولین تجربۀ شب‌مانی گشت سپید\n",
  346. "Downloading the pair: خرت از پل گذشت\n",
  347. "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",
  348. "Downloading the pair: برخورد با دورهمی دوستانه معلولان تا تصاحب امکانات آنها از سوی مسئولان\n",
  349. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (اردیبهشت ۱۴۰۲)\n",
  350. "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
  351. "Downloading the pair: من قهرمان نیستم: جمله‌ای که باید گفتنش را تمرین کنیم\n",
  352. "Downloading the pair: یک جهان مهر و شور و توانایی در گوشه‌ای از نصف جهان\n",
  353. "Downloading the pair: آشنایی با بیوپتیک\n",
  354. "Downloading the pair: بهبود هوش هیجانی در افراد با آسیب بینایی\n",
  355. "Downloading the pair: رئیس دبیرخانه ستاد مسکن سازمان بهزیستی کشور: مسکن ملی برای معلولان رایگان نیست. بهزیستی در تأمین مسکن مددجویان نقش تسهیل‌گر دارد.\n",
  356. "Downloading the pair: آواز چرخ دنده‌ها در بستر سکون (آشنایی با وسایل غیر‌الکترونیکی توان‌بخشی افراد نابینا و کم‌بینا)\n",
  357. "Downloading the pair: سفرنامه تبریز و اردبیل\n",
  358. "Downloading the pair: یک روز و خاطره هزاران تجربه\n",
  359. "Downloading the pair: خزانی‌ترین تجربه در بهاری‌ترین روز فروردین\n",
  360. "Downloading the pair: نواک: نوای کتاب در گفت‌وگو با صاحب‌نظران نابینا\n",
  361. "Downloading the pair: یک سوزن به خودمان\n",
  362. "Downloading the pair: اطلاع‌رسانی\n",
  363. "Downloading the pair: اطلاع‌رسانی\n",
  364. "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",
  365. "Downloading the pair: امید واهی به معلولان از سوی نمایندگان مجلس/ مقصران عدم پرداخت عیدی مددجویان را هم برکنار کنید\n",
  366. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران: (فروردین ۱۴۰۲)\n",
  367. "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
  368. "Downloading the pair: دفاع شخصی، امنیت و آسیب بینایی\n",
  369. "Downloading the pair: آن سفر کرده که صد قافله دل همره اوست\n",
  370. "Downloading the pair: معرفی ابزار داوطلب مجازی در برنامه بی مای آیز\n",
  371. "Downloading the pair: اشتغال، سودایی فراتر از جغرافیا\n",
  372. "Downloading the pair: چگونه از احساس تنهایی و انزوای اجتماعی گذر کنیم\n",
  373. "Downloading the pair: رقص شهاب سنگ‌ها در شب کویر (آشنایی با تشکل‌ها و سازمان‌های مردم‌نهاد افراد نابینا و کم‌بینای کشور)\n",
  374. "Downloading the pair: نهضت بی‌مسکنی مددجویان بهزیستی\n",
  375. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
  376. "Downloading the pair: اطلاع‌رسانی: گلایه‌نامه و یک نامه\n",
  377. "Downloading the pair: قدر زر زرگر شناسد\n",
  378. "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",
  379. "Downloading the pair: پاسخ‌های معاونت امور توانبخشی سازمان بهزیستی به سؤالات ماهنامه نسل مانا\n",
  380. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (اسفند ۱۴۰۱)\n",
  381. "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
  382. "Downloading the pair: خصوصی‌سازی مرکز توانبخشی خزانه؛ آزمون دوباره آزموده‌ها\n",
  383. "Downloading the pair: به اندازه بود باید نمود\n",
  384. "Downloading the pair: بررسی و مقایسه دو دستگاه نمایشگر مداوم قند خون دسترس‌پذیر لیبره لینک و دکسکوم\n",
  385. "Downloading the pair: بریل در ایران و ضرورت گذار از دوگانه‌ها: به‌سوی کاربست راهبردی تجمیعی-تلفیقی (بخش سوم)\n",
  386. "Downloading the pair: با توان باش هرچه خواهی کن مصاحبه نسل مانا با مهندس محمدرضا هادی‌پور، از اعضای مؤسس و عضو هیئت مدیرۀ کانون معلولین توانا\n",
  387. "Downloading the pair: تاب‌آوری، مهارتی که در زندگی روزمره‌مان ضروری است\n",
  388. "Downloading the pair: چتری زیر باران (خدمات سازمان بهزیستی برای مددجویان نابینا و کم‌بینا)\n",
  389. "Downloading the pair: ادامه بی‌مهری به کودکان استثنایی آیا شش ماه تعطیلی، مقدمه حذف آموزش استثنایی است؟\n",
  390. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
  391. "Downloading the pair: آفتابه لگن هفت دست، شام و ناهار هیچی\n",
  392. "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",
  393. "Downloading the pair: تصمیمات اشتباه دولت علیه معلولان، ماراتنی بی‌پایان\n",
  394. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (بهمن ۱۴۰۱)\n",
  395. "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
  396. "Downloading the pair: آموزش بر بستر‌های مجازی، مهمانی که صاحبخانه شد\n",
  397. "Downloading the pair: رک و پوست‌کنده با پدر نابینا\n",
  398. "Downloading the pair: بررسی دسترس‌پذیری برنامه تماس و گفت‌وگوی دیسکورد\n",
  399. "Downloading the pair: بریل در ایران و ضرورت گذار از دوگانه‌ها: به سوی کاربست راهبردی تجمیعی-تلفیقی (بخش دوم)\n",
  400. "Downloading the pair: از یک چشم دیگر: گفت‌و‌گوی نشریه نسل مانا با حدیثه اسدزاده و خانم بازیاری، کارمند نابینا و مدیر مرکز مشاوره ناحیه چهار شیراز\n",
  401. "Downloading the pair: پذیرش آسیب بینایی یک هدف یا یک مسیر؟ ( بخش دوم)\n",
  402. "Downloading the pair: سوسوی فانوس دریایی در مه: خدمات سازمان آموزش و پرورش استثنایی برای دانش‌آموزان نابینا و کم‌بینا\n",
  403. "Downloading the pair: تعطیلی مدیریت‌شده تنها روزنامه نابینایان کشور: مدیرمسئول ایران سپید پاسخگو نیست\n",
  404. "Downloading the pair: مدیریت چند‌بعدی در مسیر توسعه یافتگی\n",
  405. "Downloading the pair: نواک: نوای کتاب در گفت‌وگو با صاحبنظران نابینا\n",
  406. "Downloading the pair: پادشاهان بی تاج و تخت: مشدی اکبر\n",
  407. "Downloading the pair: اصلاح و اطلاع‌رسانی\n",
  408. "Downloading the pair: خاطرات آقای موشکاف: خانه از پای‌بست ویران است\n",
  409. "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",
  410. "Downloading the pair: نسل مانا و چالش‌های انتشار یک ماهنامۀ دو ساله\n",
  411. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (دی ۱۴۰۱)\n",
  412. "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژه آسیب‌دیدگان بینایی\n",
  413. "Downloading the pair: آموزش با‌کیفیت، کلید موفقیت نگاهی به اشکالات روش‌شناختی آموزش بریل به نو‌آموزان در ایران\n",
  414. "Downloading the pair: پذیرش، اولین قدم در جاده موفقیت\n",
  415. "Downloading the pair: آکوردها و گام‌های دسترس‌پذیر گیتار و بانجو برای نابینایان و کم‌بینایان\n",
  416. "Downloading the pair: بریل در ایران و ضرورت گذار از دوگانه‏ها: به‌ سوی کاربست راهبردی تجمیعی-تلفیقی (بخش اول)\n",
  417. "Downloading the pair: بر بال توانایی گفت‌و‌گوی نسل مانا با مهندس پور‌حسینی، کارفرمایی که اقدام به استخدام افراد نابینا کرده است.\n",
  418. "Downloading the pair: پذیرش آسیب بینایی، یک هدف یا یک مسیر (بخش اول)\n",
  419. "Downloading the pair: مواجهه با برهوت حقیقت پذیرش آسیب بینایی توسط خانواده‌ها و افراد نابینا و کم‌بینا، بعد از بروز معلولیت\n",
  420. "Downloading the pair: تخلفی به بزرگی جامعه نابینایان کشور نگاهی به انحراف بهزیستی در تأمین تجهیزات آموزشی و توانبخشی نابینایان و کم‌بینایان\n",
  421. "Downloading the pair: نواک: نوای کتاب در گفت‌وگو با صاحب‌نظران نابینا\n",
  422. "Downloading the pair: به قلم شما: باور به فردای روشن\n",
  423. "Downloading the pair: بیمه‌ های زندگی‌، نیاز یا ضرورت\n",
  424. "Downloading the pair: خاطرات آقای موشکاف\n",
  425. "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",
  426. "Downloading the pair: رئیس جمهوری که به مشکلات معلولین دستور حل شدن می‌دهد\n",
  427. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (آذر ۱۴۰۱)\n",
  428. "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
  429. "Downloading the pair: تندیس جشنواره گامینو در دستان قهرمانان مجازی: تقدیر از ده سال فعالیت داوطلبانه کاربران نابینا و کم‌بینا در فضای مجازی\n",
  430. "Downloading the pair: آموزش فراگیر، از واقعیت تا توهم\n",
  431. "Downloading the pair: چرا بهتر است والدین کودکان با آسیب بینایی با مراکز آموزش استثنایی در ارتباط باشند\n",
  432. "Downloading the pair: تایپ آسان در تلفن‌های هوشمند با هیبل وان\n",
  433. "Downloading the pair: سخنی از پشت میز: گفت‌و‌گوی نشریۀ نسل مانا با علیرضا غفاری\n",
  434. "Downloading the pair: اولین همایش گروه گشت سپید و افتتاح نمادین قله نابینایان\n",
  435. "Downloading the pair: پرورش تفکر انتقادی در افراد با آسیب بینایی\n",
  436. "Downloading the pair: دانشگاه و چالش‌های دانشجویان نابینا و کم‌بینا\n",
  437. "Downloading the pair: ضرورت راه‌اندازی مرکز آموزشی‌توانبخشی معلولین بینایی بازمانده از تحصیل\n",
  438. "Downloading the pair: نواک: نوای کتاب در گفت‌وگو با صاحب‌نظران نابینا\n",
  439. "Downloading the pair: پژوهش‌نامه‌ای با چاشنی درود‌های فراوان\n",
  440. "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",
  441. "Downloading the pair: استعفای اعضای هیئت مدیره شمنا/ پشت در‌های شبکه ملی نابینایان ایران چه می‌گذرد\n",
  442. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (آبان ۱۴۰۱)\n",
  443. "Downloading the pair: پیشخوان: مروری بر وبسایت‌ها و پادکست‌های انگلیسی‌زبان ویژۀ افراد با آسیب بینایی\n",
  444. "Downloading the pair: پنهان نمی‌کنم! لازم باشد افتخار هم می‌کنم!\n",
  445. "Downloading the pair: اعتماد، قانون کلاس من است\n",
  446. "Downloading the pair: واکس‌لنز: یک خط کد برای دسترس‌پذیری نمودارها و گراف‌ها\n",
  447. "Downloading the pair: فیلترینگ و اشتغال نیم‌بند نابینایان\n",
  448. "Downloading the pair: گزارش: زمین‌های وقفی اصفهان، ثروتی هنگفت در دست اغیار\n",
  449. "Downloading the pair: حفظ سلامت روان در افراد با آسیب بینایی\n",
  450. "Downloading the pair: والدین با آسیب بینایی و مدیریت امور تحصیلی فرزندان بینا\n",
  451. "Downloading the pair: یادداشت میهمان: پاسخ به چالش‌های والدین دارای کودک نابینا در یک کتاب\n",
  452. "Downloading the pair: نواک: نوای کتاب در گفت‌و‌گو با متخصصان نابینا\n",
  453. "Downloading the pair: اطلاع‌رسانی\n",
  454. "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",
  455. "Downloading the pair: پارالمپیک در ایران و جهان: ورزشکارانی که در سازمان متبوع خود هم غریبه هستند\n",
  456. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (مهر ۱۴۰۱)\n",
  457. "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژه آسیب‌دیدگان بینایی\n",
  458. "Downloading the pair: برای دانش‌آموزان، برای آینده…\n",
  459. "Downloading the pair: پیوستگی در تعامل، از زبان دو دوست، هم‌قدم و هم‌‌‌‌خانه نابینا\n",
  460. "Downloading the pair: نُه ترفند برای دسترس‌پذیرکردن پست‌های شبکه‌های اجتماعی برای همه\n",
  461. "Downloading the pair: کلیشه‌های پاییز وحشی\n",
  462. "Downloading the pair: به بهانه آغاز دهمین سال فعالیت گروه کوهنوردی عصای سفید کردستان کوهنوردی افراد دارای آسیب بینایی در یک نگاه\n",
  463. "Downloading the pair: چگونه افراد نابینا می‌توانند کیفیت خوابشان را بهبود دهند\n",
  464. "Downloading the pair: مغازه‌داری نابینا، مسئله این است! گفت‌و‌گوی نسل مانا با محمد شریفی، مغازه‌دار نابینا\n",
  465. "Downloading the pair: رفع موانع اجرای قانون جامع حمایت از حقوق معلولان، مهمترین اولویت جامعه نابینایان ایران\n",
  466. "Downloading the pair: مدیریت مالی و سرمایه‌گذاری افراد نابینا و کم‌بینا\n",
  467. "Downloading the pair: نواک، نوای کتاب در گفت‌وگو با متخصصان نابینا\n",
  468. "Downloading the pair: دهه شصتی باشید تا کامروا شوید\n",
  469. "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",
  470. "Downloading the pair: لزوم بهره‌گیری از نگاه حرفه‌ای به فعالیت‌های نابینایان در فضای مجازی\n",
  471. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (شهریور ۱۴۰۱)\n",
  472. "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژه آسیب‌دیدگان بینایی\n",
  473. "Downloading the pair: پدر و مادر عزیز، بگذارید زندگی را لمس کنم!\n",
  474. "Downloading the pair: حفظ تعادل، رمز تداوم موقعیت‌های مفید\n",
  475. "Downloading the pair: تاریخچه پنهان صفحه‌خوان‌ها (بخش پایانی)\n",
  476. "Downloading the pair: دفتر امور دانشجویان دارای معلولیت، راهی به‌سوی برابری آموزشی\n",
  477. "Downloading the pair: ر فراز ابر‌ها: گزارشی از صعود گروه کوهنوردی عصای سفید کردستان به قله سماموس\n",
  478. "Downloading the pair: مدیریت استرس، بخش پایانی\n",
  479. "Downloading the pair: سخن طرح و تدبیر: گفت‌و‌گوی نشریۀ نسل مانا با داوود خلیل‌آبادگان\n",
  480. "Downloading the pair: نقدی بر نمایش رادیویی معجزه عظیم، تولید شده به دست گروهی از نابینایان\n",
  481. "Downloading the pair: تازه‌های کتاب صوتی\n",
  482. "Downloading the pair: بانک‌ها به تکلیف قانونی خود در خصوص نابینایان عمل کنند\n",
  483. "Downloading the pair: ای قشنگ‌تر از پریا! تنها تو کوچه نریا\n",
  484. "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",
  485. "Downloading the pair: بی‌برنامگی، آفت جدی انجمن‌های نابینایی\n",
  486. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران: مرداد ۱۴۰۱\n",
  487. "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
  488. "Downloading the pair: بازار بی‌فروغ آموزش جهت‌یابی و حرکت\n",
  489. "Downloading the pair: تاریخچه پنهان صفحه‌خوان‌ها (بخش اول)\n",
  490. "Downloading the pair: تعامل مؤثر با چاشنی خلاقیت، کلید موفقیت دانشجوی نخبۀ نابینا\n",
  491. "Downloading the pair: فرهنگ نذر؛ نذر فرهنگی\n",
  492. "Downloading the pair: از سهمی که می‌بریم: گفت‌و‌گوی نشریه نسل مانا با فرهاد محمدی، فعال بازار‌های مالی\n",
  493. "Downloading the pair: مدیریت استرس (بخش اول)\n",
  494. "Downloading the pair: شغل پیدا‌کردن افراد نابینا و کم‌بینا\n",
  495. "Downloading the pair: انگیزه + اندیشه = موفقیان\n",
  496. "Downloading the pair: تازه‌های کتاب صوتی\n",
  497. "Downloading the pair: مختصری در خصوص جشنوارۀ فرهنگی‌هنری معلولان زاگرس\n",
  498. "Downloading the pair: به قلم شما\n",
  499. "Downloading the pair: به قلم شما\n",
  500. "Downloading the pair: همه‌چیز دربارۀ مراسم داربست‌زنی نابینایان در ایام محرم\n",
  501. "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",
  502. "Downloading the pair: به تبعیض علیه نابینایان پایان دهید\n",
  503. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (تیر ۱۴۰۱)\n",
  504. "Downloading the pair: پیشخوان: مروری بر پادکست‌ها و نشریات انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
  505. "Downloading the pair: طاقت بیار رفیق! ده راهکار تقویت تاب‌آوری\n",
  506. "Downloading the pair: معرفی درشت‌نمای اسمارتلاکس دیجیتال از شرکت اشینباخ\n",
  507. "Downloading the pair: تعامل مفید و مؤثر، نتیجه تلاش و مسؤولیت‌پذیری\n",
  508. "Downloading the pair: بهزیستی، سازمانی پارادوکسیکال و آرمانی\n",
  509. "Downloading the pair: چنین گفت فروشنده: گفت‌و‌گوی نشریه نسل مانا با عطیه حاج‌حسن\n",
  510. "Downloading the pair: چگونه حرکات کلیشه‌ای و رفتار‌های نابینایی را کنترل کنیم؟\n",
  511. "Downloading the pair: ورزش‌کردن افراد نابینا و کم‌بینا\n",
  512. "Downloading the pair: نقدی بر زودرنجی معلولین و آسیب‌های اجتماعی ناشی از آن\n",
  513. "Downloading the pair: تازه‌های کتاب صوتی\n",
  514. "Downloading the pair: گزارش صعود گروه کوهنوردی عصای سفید کردستان به قله چلچمه\n",
  515. "Downloading the pair: ما و بهزیستی و آش شله‌قلمکار\n",
  516. "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",
  517. "Downloading the pair: شمنا در مسیر چاووش/ شبکه‌هایی که ملی نیستند\n",
  518. "Downloading the pair: لمس تاریخ برای نابینایان در موزه ملی ایران: گزارش صوتی نسل مانا از امکانات موزه ملی ایران برای مراجعان دارای آسیب بینایی\n",
  519. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران: خرداد ۱۴۰۱\n",
  520. "Downloading the pair: پیشخوان: مروری بر وبسایت‌ها و نشریات انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
  521. "Downloading the pair: دوستی که پنهانش می‌کنیم\n",
  522. "Downloading the pair: چه خبر از کنفرانس سی‌اس‌یو‌ان ۲۰۲۲\n",
  523. "Downloading the pair: درک متقابل، کلید موفقیت نابینایان در موقعیت‌های ناشناخته\n",
  524. "Downloading the pair: نقش انجمن‌های حوزه معلولان در ایجاد تغییرات فرهنگی\n",
  525. "Downloading the pair: سفر رفتن افراد نابینا و کم‌بینا\n",
  526. "Downloading the pair: چگونه از ارتباطات غیرکلامی و زبان بدن استفاده کنیم\n",
  527. "Downloading the pair: بریل و گرافیک لمسی در سی‌اس‌یو‌ان ۲۰۲۲\n",
  528. "Downloading the pair: نان صحنه هنرمندی: :گفت‌و‌گوی نسل مانا با محسن محمد‌قلی: صحنه‌گردان نابینا\n",
  529. "Downloading the pair: تازه‌های کتاب صوتی\n",
  530. "Downloading the pair: از حرف تا عمل با نابینایان\n",
  531. "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",
  532. "Downloading the pair: بررسی راه‌اندازی روزنامۀ ویژۀ نابینایان بدون حضور نابینایان\n",
  533. "Downloading the pair: نسل مانا، مهمان روس‌ها در نمایشگاه اینوتکس\n",
  534. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (اردیبهشت ۱۴۰۱)\n",
  535. "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
  536. "Downloading the pair: نقش محوری آموزگاران کودکان آسیب‌دیدۀ بینایی در آموزش‌وپرورش امروز\n",
  537. "Downloading the pair: علوم دسترس‌پذیر؛ شیمی ۱۰۱\n",
  538. "Downloading the pair: فردایی روشن برای نسل امروز: پای صحبت‌های یک زوج نابینا\n",
  539. "Downloading the pair: مهمانی‌رفتن افراد نابینا و کم‌بینا\n",
  540. "Downloading the pair: بر مدارِ مدار صفر و یک: گفت‌وگوی نشریۀ نسل مانا با شادیار خدایاری؛ برنامه‌نویس نابینا و دارای مدرک کارشناسی‌ارشد مهندسی نرم‌افزار کامپیوتر\n",
  541. "Downloading the pair: روابط عاطفی؛ از آشنایی تا تنظیم قرار ملاقات\n",
  542. "Downloading the pair: تازه‌های کتاب صوتی\n",
  543. "Downloading the pair: نقدی مغرضانه بر میزان شایسته‌سالاری در جامعۀ نابینایان\n",
  544. "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",
  545. "Downloading the pair: چگونه جامعۀ نابینایان برنامه‌سازان عصر جدید را پاسخگو کرد\n",
  546. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران: فروردین ۱۴۰۱\n",
  547. "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
  548. "Downloading the pair: نامۀ سرگشادۀ قائم‌مقام انجمن نابینایان ایران خطاب به ریاست‌جمهوری در خصوص پیگیری علت عدم انتشار روزنامۀ ایران سپید\n",
  549. "Downloading the pair: هیچ معجزه‌ای به‌جز تلاش و تمرین – بخش دوم\n",
  550. "Downloading the pair: ویژن‌بادی صفحۀ تلویزیون را پیش شما می‌آورد\n",
  551. "Downloading the pair: آواز زندگی با ریتم موشک و گلوله\n",
  552. "Downloading the pair: نقش سازمان‌های دولتی و مردم‌نهاد در اشتغال افراد دارای معلولیت\n",
  553. "Downloading the pair: آشپزی افراد نابینا و کم‌بینا\n",
  554. "Downloading the pair: با چشم کم‌سو به‌سوی ترک اعتیاد !گفت‌وگوی نشریه نسل مانا با امیر مینایی؛ مدیر و مؤسس کمپ ترک اعتیاد\n",
  555. "Downloading the pair: راهبرد حل مسئله برای آسیب‌دیدگان بینایی\n",
  556. "Downloading the pair: درس‌هایی که از عصر جدید علیخانی می‌آموزیم: علت‌یابی یک رفتار نسبتاً متداول\n",
  557. "Downloading the pair: تازه‌های کتاب صوتی\n",
  558. "Downloading the pair: شرحی بر انحراف بنیادین برنامۀ عصر جدید\n",
  559. "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",
  560. "Downloading the pair: لزوم تغییر سیاست‌گذاری‌های شغلی برای نابینایان\n",
  561. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران: اسفند ۱۴۰۰\n",
  562. "Downloading the pair: پیش‌خوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
  563. "Downloading the pair: رنگ رنگ تا پیروزی؛ آنچه نابینایان باید از جادوی رنگ‌ها بدانند\n",
  564. "Downloading the pair: نقش نظم در زندگی افراد نابینا\n",
  565. "Downloading the pair: کنفرانس سایت تک گلوبال برای سال دوم بازمی‌گردد\n",
  566. "Downloading the pair: دست‌ورزیِ مرد دست ‌ورزیده گفت‌وگوی نسل مانا با حسین ایرانی\n",
  567. "Downloading the pair: فرهنگ‌سازی یا فرهنگ‌سوزی؛ کودک‌آزاری در فضای مجازی و مسئله معلولیت\n",
  568. "Downloading the pair: از نابینایان برای نابینایان: اسرار موفقیت در خانه‌تکانی\n",
  569. "Downloading the pair: تکنیک‌هایی برای توفیق در دوست‌یابی\n",
  570. "Downloading the pair: معلولیت و دغدغه عدالت اجتماعی در توزیع لوازم و تجهیزات توان‌بخشی\n",
  571. "Downloading the pair: تازه‌های کتاب صوتی\n",
  572. "Downloading the pair: غلتی در قهوه: تور شنیداری نسل مانا در یک کارگاه تولید قهوه\n",
  573. "Downloading the pair: به قلم شما\n",
  574. "Downloading the pair: با معلولین برای مسئولین\n",
  575. "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",
  576. "Downloading the pair: مدیریتی که تحول‌آفرین نیست\n",
  577. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران: بهمن ۱۴۰۰\n",
  578. "Downloading the pair: پیش‌خوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژۀ آسیب‌دیدگان بینایی\n",
  579. "Downloading the pair: هیچ معجزه‌ای، به‌جز تلاش و تمرین!\n",
  580. "Downloading the pair: گذر از تندباد سختی‌ها\n",
  581. "Downloading the pair: ده روش استفاده از برنامۀ بی مای آیز برای تشخیص رنگ‌ها\n",
  582. "Downloading the pair: پیچ‌وتاب پیشۀ مشاور:گفت‌وگوی نشریۀ نسل مانا با بیتا راد؛ روان‌شناس\n",
  583. "Downloading the pair: جای خالی معلولان در رویدادهای فرهنگی\n",
  584. "Downloading the pair: هدیه‌خریدن فرد نابینا و کم‌بینا\n",
  585. "Downloading the pair: پنج گام در پذیرش از دست دادن بینایی\n",
  586. "Downloading the pair: نسل مانا: سوسوی مانایی خط بریل در تأمین نیازهای اطلاعاتی نابینایان در ایران\n",
  587. "Downloading the pair: تازه‌های کتاب صوتی\n",
  588. "Downloading the pair: مجرم باشید تا خدمت کنید\n"
  589. ]
  590. }
  591. ]
  592. },
  593. {
  594. "cell_type": "markdown",
  595. "source": [
  596. "# Add new magazine\n",
  597. "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."
  598. ],
  599. "metadata": {
  600. "id": "L3Wml_q7r6gf"
  601. }
  602. },
  603. {
  604. "cell_type": "code",
  605. "source": [
  606. "# Initialize the metadata DataFrame\n",
  607. "metadata_df = pd.DataFrame(columns=[\"magazine_name\", \"magazine_url\", \"subject\", \"audio_url\", \"text_url\", \"file_name\"])"
  608. ],
  609. "metadata": {
  610. "id": "DwGRgm2gvwUg"
  611. },
  612. "execution_count": null,
  613. "outputs": []
  614. },
  615. {
  616. "cell_type": "code",
  617. "source": [
  618. "last_available_file = 552\n",
  619. "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/'"
  620. ],
  621. "metadata": {
  622. "id": "4jNWu9IUvy1q"
  623. },
  624. "execution_count": null,
  625. "outputs": []
  626. },
  627. {
  628. "cell_type": "code",
  629. "source": [
  630. "candidate_response = requests.get(candidate_url)\n",
  631. "candidate_soup = BeautifulSoup(candidate_response.text, 'html.parser')\n",
  632. "\n",
  633. "# Find elements with \"(صوت)\" and a link to an .mp3 file\n",
  634. "audio_elements = candidate_soup.find_all('a', href=lambda href: href and href.endswith('.mp3'), string=lambda string: string and '(صوت)' in string)\n",
  635. "\n",
  636. "\n",
  637. "if audio_elements: # The candidate page is for a magazine\n",
  638. " print(f\"Crawling {candidate_url}\")\n",
  639. "\n",
  640. "for audio_element in audio_elements:\n",
  641. " audio_url = audio_element['href']\n",
  642. " audio_text = audio_element.text.replace('(صوت)', '').strip()\n",
  643. "\n",
  644. " # Look for a corresponding element with \"(متن)\"\n",
  645. " text_element = candidate_soup.find('a', string=lambda string: string and '(متن)' in string and audio_text in string)\n",
  646. " if text_element:\n",
  647. " text_url = text_element['href']\n",
  648. "\n",
  649. " # Extract text from the text page\n",
  650. " title, subtitle, body_text = extract_text(text_url)\n",
  651. "\n",
  652. " # Prepare the subject by removing specific words\n",
  653. " subject = title.replace('(متن)', '').replace('(صوت)', '')\n",
  654. "\n",
  655. " print(f\"Downloading the pair: {subject}\")\n",
  656. "\n",
  657. " # Download the audio file\n",
  658. " file_name = f\"{save_dir}/{len(metadata_df) + last_available_file}.mp3\"\n",
  659. " download_file(audio_url, file_name)\n",
  660. "\n",
  661. " # Save the text to a file\n",
  662. " text_file_name = f\"{save_dir}/{len(metadata_df) + last_available_file}.txt\"\n",
  663. " with open(text_file_name, 'w', encoding='utf-8') as f:\n",
  664. " f.write(f\"{title}\\n{subtitle}\\n{body_text}\")\n",
  665. "\n",
  666. " # Update the metadata\n",
  667. " metadata_df = pd.concat([metadata_df, pd.DataFrame([{\n",
  668. " \"magazine_name\": candidate_soup.find('span', class_='post-title', itemprop='headline').text,\n",
  669. " \"magazine_url\": candidate_url,\n",
  670. " \"subject\": subject,\n",
  671. " \"audio_url\": audio_url,\n",
  672. " \"text_url\": text_url,\n",
  673. " \"file_name\": f\"{len(metadata_df) + last_available_file}\"\n",
  674. " }])], ignore_index=True)\n",
  675. "\n",
  676. " # Save the metadata to a CSV file after each pair\n",
  677. " metadata_df.to_csv(f\"{save_dir}/metadata.csv\", index=False)"
  678. ],
  679. "metadata": {
  680. "colab": {
  681. "base_uri": "https://localhost:8080/"
  682. },
  683. "id": "MgeOx7PHre9m",
  684. "outputId": "a658304a-3bab-4654-c425-77651952a185"
  685. },
  686. "execution_count": null,
  687. "outputs": [
  688. {
  689. "output_type": "stream",
  690. "name": "stdout",
  691. "text": [
  692. "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",
  693. "Downloading the pair: نگاهی به مسائل مطرح‌شده در همایش هم‌بینایی و زیستی نو\n",
  694. "Downloading the pair: گزارش عملکرد انجمن نابینایان ایران (اردیبهشت ۱۴۰۳)\n",
  695. "Downloading the pair: پیشخوان: مروری بر نشریات و پادکست‌های انگلیسی‌زبان ویژه افراد با آسیب بینایی\n",
  696. "Downloading the pair: می‌ریم اردو: نگاهی به آثار مثبت اردوهای دانش‌آموزی\n",
  697. "Downloading the pair: تعامل در محل کار\n",
  698. "Downloading the pair: نمایشگاه گروه سونی در بزرگ‌ترین کنفرانس بین‌المللی دسترس‌پذیری در جهان\n",
  699. "Downloading the pair: مؤسسۀ رودکی در فراز و نشیب چندین‌ساله\n",
  700. "Downloading the pair: شوخی کردن با معلولیت: طنز یا توهین؟\n",
  701. "Downloading the pair: نابینایان و صندوق امانات بانک‌ها\n",
  702. "Downloading the pair: همسفر با کوله‌گرد رها نامۀ دوم: زندگی‌نورد شوق‌مند\n",
  703. "Downloading the pair: نقاشی با کلمات قسمت چهارم: کاربران توضیحات صوتی چه کسانی هستند؟\n",
  704. "Downloading the pair: معلولین و ضرورت دسترس‌پذیری\n",
  705. "Downloading the pair: منشی نابینای دادگاه از شغلش می‌گوید\n",
  706. "Downloading the pair: روستای نابینایان\n",
  707. "Downloading the pair: نواک: نوای کتاب در گفتگو با صاحب‌نظران نابینا\n",
  708. "Downloading the pair: خانه از پای‌بست ویران است\n",
  709. "Downloading the pair: اطلاع‌رسانی\n"
  710. ]
  711. }
  712. ]
  713. }
  714. ]
  715. }