سافت گذر دانشنامه نرم افزار - دانلود رایگان نرم افزار

اطلاعیه های مهم سایت اطلاعیه های مهم سایت
💐 میلاد زینت پدر حضرت زینب سلام الله علیها مبارک باد 💐
 
 
  1. جهت رفع مشکل باز شدن سایت به دلیل بلاک توسط  نود 32 این ویدیو یا این ویدیو(ورژن 9 به بالا) یا راهنمای تصویری را مشاهده کنید
  2. به مناسبت عید غدیر، در سایت https://esetupdate.ir/ تخفیف ویژه‌ای برای محصولات در نظر گرفته شده است؛ فرصت را از دست ندهید. 🌸
  3. اکانت های بروزرسانی نود32 با قیمت های مناسب به صورت یک ، سه ، شش و دوازده ماهه از اینجا قابل خرید می باشد.

نرم افزار های پرکاربرد

ثبت نام | ورود

اخبار آموزشی

چگونه اطلاعات ویکی پدیا را استخراج و تحلیل کنیم؟

ویکی‌پدیا بزرگ‌ترین دانشنامه‌ی مردمی دنیا است که همگی با آن آشنا هستیم. در این مقاله، به آموزش ابزار Mixnode و نحوه‌ی استخراج و تحلیل مقالات ویکی‌پدیا می‌پردازیم.
چگونه اطلاعات ویکی پدیا را استخراج و تحلیل کنیم؟
غنای اطلاعات ویکی‌پدیا بر هیچ‌کس پوشیده نیست. از دریای اطلاعات این وبسایت می‌توان برای تحقیق‌های تجاری و غیرتجاری و تقریبا در هر زمینه‌ای بهره برد. شرکت‌ها، محققان، دانشمندان داده و حتی افراد صرفا کنجکاو، همه‌وهمه درزمره‌ی افرادی قرار می‌گیرند که سعی می‌کنند داده‌های ویکی‌پدیا را استخراج و تحلیل کنند.

ویکی‌پدیا به‌مثابه‌ی گنجینه‌ای است که از مجموعه‌ای از صدهامیلیون صفحه‌ی وب و میلیون‌ها مقاله‌ی وزین چندزبانه تشکیل شده‌ است. این امر ویکی‌پدیا را به بهشت خزندگان وب (Web Crawler) تبدیل کرده‌ است. با جست‌وجویی ساده در گیت‌هاب، متوجه می‌شوید بیش از سیصد خزنده‌ی وب و پروژه‌های مشابه برای استخراج داده از ویکی‌پدیا وجود دارد.

وب‌کراولینگ، تنها راه موجود برای استخراج و تحلیل داده‌های ویکی‌پدیا نیست. برای مثال، ویکی‌مدیا اجازه‌ی استخراج داده‌ها در فرمت‌های متنوعی را می‌دهد. همچنین، API ویکی‌مدیا نه‌تنها برای دریافت اطلاعات، بلکه برای ایجاد بات‌ها و تعامل با مقالات به‌طور برنامه‌نویسی‌شده استفاده می‌شود.

در آموزش زیر، روی ابزار Mixnode تمرکز می‌کنیم که استخراج و تحلیل داده‌ها از ویکی‌پدیا با استفاده از کوئری‌های SQL را فراهم می‌آورد. برای استفاده از این ابزار باید با SQL آشنا باشید.

Mixnode چگونه کار می‌کند؟
Mixnode اجازه می‌دهد با وب مانند پایگاه داده برخورد کنید. با استفاده از Mixnode می‌توانید کوئری بنویسید و آن را روی وب اجرا کنید. با اجرای کوئری مدنظر Mixnode به‌طور خودکار صفحات لازم برای پاسخ به کوئری را پیدا می‌کند.

مثال‌های زیر نحوه‌ی کارکرد Mixnode و استخراج و تحلیل داده‌‌ها را شفاف‌تر می‌کند.

مثال ۱: به‌دست‌آوردن آدرس تمامی صفحات ویکی‌پدیا
select 
    url
from 
    pages
where 
    url_domain = 'wikipedia.org' 
متغیر url نمایانگر آدرس صفحه است
pages جدولی است که هر ردیف آن مطابق با صفحه‌ی منحصربه‌فرد در وب است
با url_domain = 'wikipedia.org' مطمئن می‌شویم که فقط صفحات ویکی‌پدیا و ساب‌دامین‌های آن (مانند en.wikipedia.org) مدنظر قرار می‌گیرند. اگر بخواهید فقط در ویکی‌پدیای فارسی جست‌وجو کنید، کافی است عبارت fa.wikipedia.org را جایگزین کنید.
مثال ۲: به‌دست‌آوردن آدرس و عنوان تمامی مقالات ویکی‌پدیا
select 
    url, 
    css_text_first(content, 'h1#firstHeading') as title
from 
    pages
where 
    url_domain = 'wikipedia.org' 
    and
    url like '%/wiki/%'
css_text_first(content, 'h1#firstHeading') عنوان مقاله‌ی ویکی‌پدیا را خروجی می‌دهد. با نگاهی به سورس HTML مقالات ویکی‌پدیا، پی می‌بریم h1#firstHeading مسیر CSS برای عنوان مقاله است. css_text_first نیز تابعی است که اجازه‌ی استخراج اولین مورد از انتخابگر CSS را می‌دهد. content در اینجا سورس کامل HTML صفحه است.

ازآنجایی‌که قصد داریم عناوین مقالات را به‌دست آوریم و می‌دانیم در آدرس مقالات ویکی‌پدیا از /wiki/ استفاده می‌شود، از url like '%/wiki/%' استفاده می‌کنیم تا مطمئن شویم نتایجمان فقط به مقالات مربوط‌ می‌شود.
مثال ۳: به‌دست‌آوردن عناوین تمامی مقالات شامل زیررشته‌ی Elon Musk
select 
    url, 
    css_text_first(content, 'h1#firstHeading') as title
from 
    pages
where 
    url_domain = 'wikipedia.org' 
    and
    url like '%/wiki/%'
    and
    contains(content, 'Elon Musk')
contains() تابعی است که اجازه‌ی بررسی وجود یک زیررشته در یک رشته را می‌دهد. با استفاده از contains(content, 'elon musk') مطمئن می‌شویم که در نتایجمان عبارت Elon Musk موجود است.
مثال ۴: مرتب‌سازی مقالات ویکی‌پدیا براساس تعداد ارجاعات
select 
    url, 
    css_text_first(content, 'h1#firstHeading') as title,
    cardinality(css_text(content, 'ol.references li')) as reference_count
from 
    pages
where 
    url_domain = 'wikipedia.org' 
    and
    url like '%/wiki/%'
order by reference_count desc
بررسی کد منبع یک مقاله‌ی ویکی‌پدیا نشان می‌دهد تمامی ارجاعات و منابع با انتخابگر ol.references قابل‌دسترسی است. css_text(content, 'ol.references li') متن تمامی منابع مقاله را به ما می‌دهد و ازآنجایی‌که فقط به تعداد نیاز داریم، پس از تابع cardinality() استفاده می‌کنیم که اندازه‌ی یک آرایه را برمی‌گرداند. desc در خط آخر مقالات را به‌صورت نزولی برایمان مرتب می‌کند. برای مرتب‌سازی به‌صورت صعودی از asc استفاده کنید.
مثال ۵: مرتب‌سازی مقالات ویکی‌پدیا براساس طول مقاله
select
    url,
    css_text_first(content, 'h1#firstHeading') as title,
    cardinality(words(css_text_first(content, '#content'))) as article_length
from 
    pages
where 
    url_domain = 'wikipedia.org' 
    and
    url like '%/wiki/%'
order by article_length desc
words() آرایه‌ای شامل تمامی کلمات یک متن را برمی‌گرداند. استفاده از cardinality(words(css_text_first(content, '#content'))) as article_length، تعداد کلمات یک مقاله را به ما می‌دهد.
مثال ۶: اندازه‌ی میانگین یک مقاله‌ی ویکی‌پدیا
select
    avg(cardinality(words(css_text_first(content, '#content')))) as average_article_length
from 
    pages
where 
    url_domain = 'wikipedia.org' 
    and
    url like '%/wiki/%'
تابع avg() میانگین داده‌های ورودی‌اش را برمی‌گرداند که در اینجا، تعداد کلمات تمامی مقالات ویکی‌پدیاست.
مثال ۷: مرتب‌سازی مقالات ویکی‌پدیا براساس بحث‌های آن
select
    url,
    remove_left(css_text_first(content, 'h1#firstHeading'), 'Talk:') as title,
    cardinality(words(css_text_first(content, '#content'))) as discussion_length
from 
    pages
where 
    url_domain = 'wikipedia.org' 
    and
    url like '%/wiki/Talk:%'
order by discussion_length desc
مباحث درباره‌ی یک مطلب در آدرسی مشابه /wiki/Talk: قرار دارند؛ به‌همین‌دلیل از این عبارت استفاده می‌کنیم.
مثال ۸: پیداکردن تمامی مقالات ویکی‌پدیا که لینکی به zoomit.ir دارند
select
    url,
    css_text_first(content, 'h1#firstHeading') as title
from 
    pages
where 
    url_domain = 'wikipedia.org' 
    and
    url like '%/wiki/%'
    and
    contains_any(content, array['href="https://www.zoomit.ir', 'href="http://www.zoomit.ir', 'href="https://zoomit.ir', 'href="http://zoomit.ir'])

نظرتان را ثبت کنید کد خبر: 43666 گروه خبری: اخبار آموزشی منبع خبر: زومیت تاریخ خبر: 1397/09/19 تعداد مشاهده: 2355
اخبار مرتبط با این خبر
نظر های کاربران
سرور آپدیت نود 32
پیشنهاد سافت گذر
Despicable Me 4.9.0 for Android +2.3

Despicable Me 4.9.0 for Android +2.3

بازی من شرور!

PDF Arranger 1.12.1

PDF Arranger 1.12.1

ویرایش پی دی اف

Rugby World Cup 2015

Rugby World Cup 2015

جام جهانی راگبی 2015

BWMeter 9.0.3 Final

BWMeter 9.0.3 Final

محاسبه ترافیک اینترنت

FreeCAD 1.0.1

FreeCAD 1.0.1

طراحی سه‌بعدی

تفسیر صوتی سوره ماعون

تفسیر صوتی سوره ماعون

تفسیر سوره 107 از حجت الاسلام قرائتی

AutoPlay Media Studio 9.0.1 + Portable

AutoPlay Media Studio 9.0.1 + Portable

بهترین برنامه برای ساخت اتوران‌های حرفه ای

101 نکته کاربردی در تکنولوژی اطلاعات (IT)

101 نکته کاربردی در تکنولوژی اطلاعات (IT)

نکته هایی پرکاربرد در فناوری اطلاعات

شادی و خوشحالی

شادی و خوشحالی

۵ نشانه شادی معنوی

Blues and Bullets Episode 1

Blues and Bullets Episode 1

افسردگی و هجوم گلوله‌ها - اپیزود 1

SimpleMind Pro 2.7.0 Build 6568

SimpleMind Pro 2.7.0 Build 6568

ترسیم نقشه ذهنی

Sol Runner 1.0 for Android

Sol Runner 1.0 for Android

بازی ماموریت S.O.L.O

گیاهان داروئی و داروهای سنتی

گیاهان داروئی و داروهای سنتی

اهمیّت کاربرد گیاهان داروئی و داروهای سنتی در قصّه‌ها

Screen Stream Mirroring 2.7.0c for Android +4.0

Screen Stream Mirroring 2.7.0c for Android +4.0

استریم تصویر

SIV (System Information Viewer) 5.77

SIV (System Information Viewer) 5.77

مشاهده کامل اطلاعات سخت افزاری

آموزش نرم افزار Etabs

آموزش نرم افزار Etabs

آشنایی با نرم افزار ایتبز

آموزش ساخت نسخه پرتابل از برنامه ها

آموزش ساخت نسخه پرتابل از برنامه ها

چگونگی مجازی سازی برنامه ها

قرارداد اجتماعی روسو

قرارداد اجتماعی روسو

قرارداد اجتماعی

Mayan Death Robots

Mayan Death Robots

ربات‌های مرگ در تمدن مایان

خود آموز زبان توصیف سخت افزار Verilog

خود آموز زبان توصیف سخت افزار Verilog

آموشی زبان وریلاگ

RC Simulation 2.0

RC Simulation 2.0

ماشین کنترلی

Where is My Valentine? 1.1.0 for Android

Where is My Valentine? 1.1.0 for Android

بازی کادوی ولنتاین من کجاست؟

Serif WebPlus X8 16.0.4.32 x86/x64

Serif WebPlus X8 16.0.4.32 x86/x64

نرم افزار قدرتمند طراحی صفحات وب

سخنرانی حجت الاسلام عزیزالله رزاقی با موضوع ویژگی امام حسین علیه السلام

سخنرانی حجت الاسلام عزیزالله رزاقی با موضوع ویژگی امام حسین علیه السلام

سخنرانی ویژگی امام حسین علیه السلام با عزیزالله رزاقی

Train Simulator 2015

Train Simulator 2015

شبیه‌ساز قطار 2015 - نسخه‌ی سالم و اصلاح‌شده

Kdenlive 25.12.0

Kdenlive 25.12.0

ویرایش فیلم

PowerMax 1.8.8 for Android

PowerMax 1.8.8 for Android

کاهش موثر مصرف باتری

Pet Shop Story 1.0.6 for Android

Pet Shop Story 1.0.6 for Android

بازی فروشگاه حیوانات خانگی اینترنتی

Acronis Disk Director 12.5 Build 163 + Server + WinPE / Advanced 11.0.12077 + WinPE

Acronis Disk Director 12.5 Build 163 + Server + WinPE / Advanced 11.0.12077 + WinPE

قوی‌ترین نرم افزار پارتیشن بندی هارد و راه اندازی سیستم بوت چندگانه

BootRacer 9.30.0

BootRacer 9.30.0

اندازه گیری سرعت بوت ویندوز

Autodesk 3ds Max 2013 Product Update 6 x86/x64

Autodesk 3ds Max 2013 Product Update 6 x86/x64

جدیدترین نسخه برنامه تری دی مکس برای ساخت انیمیشن های پیشرفته و سه بعدی

Angry Birds All Release Update 1404/12/19 For Android

Angry Birds All Release Update 1404/12/19 For Android

بازی پرندگان خشمگین

دیوان لطایف عبید زاکانی

دیوان لطایف عبید زاکانی

اشعار عبید زاکانی

12 جلسه مکتب شهید سلیمانی از حجت الاسلام والمسلمین پناهیان

12 جلسه مکتب شهید سلیمانی از حجت الاسلام والمسلمین پناهیان

حاج آقا پناهیان با موضوع مکتب شهید سلیمانی

MegaCast – Chromecast player 1.3.17 For Android +4.1

MegaCast – Chromecast player 1.3.17 For Android +4.1

پلیر کروم کست

کشکول سخن ( قطعه های کوتاه سخنرانی درباره موضوعات مختلف ) - بخش اول

کشکول سخن ( قطعه های کوتاه سخنرانی درباره موضوعات مختلف ) - بخش اول

سخنرانی های کوتاه کشکول وار - بخش اول

The Road

The Road

جاده

تاریخ معاصر ایران

تاریخ معاصر ایران

انقلاب اسلامی ایران

آموزش Windows Firewall

آموزش Windows Firewall

آموزش ویندوز فایروال

سخنرانی حجت الاسلام ناصر رفیعی با موضوع پاسخ به شبهات درباره توسل

سخنرانی حجت الاسلام ناصر رفیعی با موضوع پاسخ به شبهات درباره توسل

سخنرانی پاسخ به شبهات درباره توسل با ناصر رفیعی

خبرنامه

با عضویت در خبرنامه، زودتر از همه باخبر باش!