לקבל רשימה של כל הערכים בויקיפדיה
-
לא העמקתי, ואני לא בטוח שזה מה שאתה מחפש אבל, האם זה יעזור?
http://meta.wikimedia.org/wiki/List_of_Wikipedias_by_sample_of_articles
http://meta.wikimedia.org/wiki/List_of_Wikipedias_by_sample_of_articles/Source_codeוגם,תראה את זה:
http://dbpedia.orgפורסם במקור בפורום CODE613 ב30/09/2014 03:10 (+03:00)
-
בדוק את זה גם:
https://www.mediawiki.org/wiki/API:Query
http://he.wikipedia.org/w/api.phpבהצלחה.
פורסם במקור בפורום CODE613 ב30/09/2014 11:45 (+03:00)
-
מעניין
זה נותן רק דף אחד בלי "הקודם" ו"הבא". לכאורה זאת השאילתה הנכונה. מה שכן אפשר לרדוף אותו עם המאפיין from ובכל פעם לשים את הערך האחרון.
מה שכן עובד זה במרחב השם קטגוריות אפשר עד 5000 במכה לעשות, ודרך הקטגוריות כנראה לעקוב אחרי הקישורים של הערכים הקשורים.
אה.... ויש גם ערך של ממש שעוסק בנושא (אבל אין דטה בייס זמין בעברית
פורסם במקור בפורום CODE613 ב11/10/2014 23:09 (+03:00)
-
טוב בתור התחלה, הקוד הזה עובד נהדר, תודה למג'יקוד על ההמצלה על המחלקה הנפלאה הזו הקרויה cheerio כמובן הכל מתבצע ב nodejs טהור וזך. בהמשך אי"ה אעלה לשיתופיה קוד מלא שעושה את כל העובדה כולל לולאות על מנת לחלץ מויקיפדיה את כל מה שאפשר.
בגדול זאת חלק מתוכנית לעשות זחלן רשת חכם שמכיר את האתרים הגדולים ומאנדקס אותם כל אתר בייחודיות שלו, יידע לתת תשובות לשאילתות סלקט אמיתיות (ולא רק לחיפושים טקסטואליים מטומטמים) וכך לקבור את גוגל עוד לפני שיהיה להם זמן להתארגן נגדי :lol: :lol: :lol: :lol: :lol: סתם עשיתי את זה בשביל שמחת חג, ואני מקווה שזה ישמח גם את הציבור פה אני ממש לא עובד בחג.
הסבר: הקוד הזה מושך כרגע 10 קטגוריות הראשונות מויקיפדיה, עושה פילטר עם סלקטור לפי המבנה של ה HTML, ולבסוף נותן את הקטגוריה האחרונה ברשימה, באופן כזה אפשר לתשאל את ויקיפדיה בשלב הבא בלולאה, ע"י פרמטר שיגיד לו מאיזו קטגוריה להתחיל את הדף, וכך אפשר להגיע לכל הקטגוריות. את הניסיונות עשיתי עם לימיט 10 בגלל מדיניות נימוס אולם "בדבר האמיתי" אפשר למשוך 5000 במכה והלולאה תעבוד מקסימום עשרים שלושים פעם, ויש לנו את כל ויקיפדיה ביד, בלי להיות תלויים יותר בגוגל.
var request = require('request'); var cheerio = require('cheerio'); var url = 'http://he.wikipedia.org/w/index.php?title=%D7%9E%D7%99%D7%95%D7%97%D7%93:%D7%A7%D7%98%D7%92%D7%95%D7%A8%D7%99%D7%95%D7%AA&limit=10'; request(url, function (error, response, html) { if (!error && response.statusCode == 200) { //console.log(html); var $ = cheerio.load(html); console.log($("li a")); console.log($("li a") .filter(function() { var s = $(this).attr('title'); if (s === undefined){return false} console.log(s); return s.match(/קטגוריה.*/); }).last().attr('href')); } });
בשלב הבא כמובן נצטרך לחלץ את הערכים באמצעות הקטגוריות, וכך נרוויח את המידע לאיזה קטגוריות שייכים הערכים, מה שיגדיל את היכולת לסווג את המידע ולהוציא סטטיסטיקות של ממש.
פורסם במקור בפורום CODE613 ב14/10/2014 12:42 (+03:00)