לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי         אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #2  
ישן 15-10-2015, 15:48
צלמית המשתמש של MatiM
  משתמש זכר MatiM MatiM אינו מחובר  
 
חבר מתאריך: 12.04.06
הודעות: 2,021
שלח הודעה דרך MSN אל MatiM
בתגובה להודעה מספר 1 שנכתבה על ידי tbe שמתחילה ב "זיהוי התוכן של כתבה בלבד"

יש כל מיני דרכים לעשות את זה.

אם אתה מכיר את המבנה של העמוד של הכתבה, ויודע שהתוכן נמצא באלמנט מסויים, אתה יכול להעזר בxPath לדוגמא, כדי לגשת לאותו אלמנט ולקרוא את התוכן שלו.

לפעמים אתרים מחלקים את הכתבות לפיסקאות ושמים ביניהם פרסומות וכו', אז צריך לראות גם שם אם יש שמות קבועים לאלמנטים של הפיסקאות כדי לשלוף רק אותם,
או לקחת את כל האיזור של הכתבה ואז לסנן תגיות/תמונות/סקריפטים/קישורים שיודעים שהם לא חלק מהכתבה.



ויש גם דרכים להתחכם -

הרבה אתרים מציעים גירסא למובייל עבור כל כתבה, ושם לפעמים אפשר לגשת לתוכן של הכתבה עצמה הרבה יותר בקלות ובלי פרסומות/אלמנטים אחרים שיפריעו באמצע. אז אפשר פשוט לזהות את המזהה של הכתבה מהלינק, ואז לטעון דווקא את הגירסא למובייל של אותה כתבה ולעבד אותה.


ועוד יותר -

יש אתרים שמציעים גירסא להדפסה, שבד"כ רוב רובה היא התוכן-טקסט להדפסה, בלי פרסומות ובלי תפריטים ותגובות.
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 20-10-2015, 17:36
צלמית המשתמש של MatiM
  משתמש זכר MatiM MatiM אינו מחובר  
 
חבר מתאריך: 12.04.06
הודעות: 2,021
שלח הודעה דרך MSN אל MatiM
בתגובה להודעה מספר 9 שנכתבה על ידי tbe שמתחילה ב "חשבתי למפות את ה HTML..."

אני מתאר לעצמי ששימי התכוון להגיד שמה שאתה מנסה לבצע זה לא משהו פשוט, כזה שאפשר להגיע לתוצאה "סתם ככה".

מכיוון שאמרת בהתחלה שאתה לא רוצה להשתמש במבנה של הHTML כדי לזהות את האיזור של הכתבה, שימי ציין בפנייך שזה לא יהיה כל כך פשוט לזהות את החלק של הכתבה עצמה רק על פי הטקסט באתר.


בכל מקרה,
כדי לעשות את זה "בלי לדעת באמת מה המבנה של העמוד", תצטרך לחשוב על אלגוריתם (מערכת חכמה, כמו ששימי קרא לזה), שיהיה לו את הסיכוי הגבוה ביותר להשיג את התוצאה שאתה רוצה.
שים לב שסביר להניח שזה אף פעם לא יהיה מדוייק ב100% כמו שביקשת בהודעה הראשונה שלך.

אפשר בהחלט ללכת בדרך של שלילה.

הנה כמה רעיונות שעלו לי -

להוריד אלמנטים שבהם בטוח לא ימצא התוכן,
כמו head, script, link, object, video, audio, form , input וכו'. בקיצור, כל אלמנט שהמטרה שלו לא להכיל טקסט.

אחרי זה, אפשר לנקות אלמנטים שנותרו ריקים (שכנראה היו אלמנטי-אב של כל מה שהסרנו).

בשלב מסויים, תוכל להמיר חלק מהאלמנטים לטקסט נקי, לדוגמא -
p , b , strong , i , u , span יוסרו ורק התוכן שביניהם ישאר.

ואז נניח דבר כזה:
קוד:
<div><p>hi there, <span>this is an <strong>example</strong></span></p></div>


יהפוך לדבר כזה:
קוד:
<div>hi there, this is an example!</div>



שלב נוסף יהיה לזהות אידים/קלאסים של אלמנטים שמכילים בשם משהו שרומז שאין שם את תוכן הכתבה.
לדוגמא: nav, menu , facebook , sidebar וכו'.


ובסוף,
אולי לעבור על האלמנטים ולסנן לפי אורך הטקסט שנשאר.
לדוגמא, אלמנט שיש בו בסך הכל 10 תווים, כנראה שאין בו תוכן של כתבה.
אבל זה יהיה צריך להיות חכם יותר, אולי משהו סטטיסטי - לדוגמא לבצע איזה חישוב על אורכי הטקסטים שיש בכל אלמנט, ולמצוא נוסחא כדי להסיר אלמנטים שביחס לשאר נראה שהם מכילים טקסטים קצרים יותר.



טיפ שאולי יעזור לך להתקדם עם זה - אל תעבוד על אתרים בעברית/באנגלית.
תיכנס לאתרים בשפה שאתה לא מבין, לדוגמא ערבית/רוסית/צרפתית וכו'... ומשם תנסה לנתח את כל הפעולות שהמוח שלך עושה כדי לזהות איפה התוכן של הכתבה. בשפה זרה אתה לא תוכל לזהות את התוכן לפי טקסט מוכר. אתה תהיה חייב לזהות מאפיינים שונים שדרכם אתה לומד איזה איזור באתר מכיל את התוכן. (מה החלק העיקרי? איפה התפריט? יש ציטוטים בטקסט? יש כותרות? וכו'...)



ו...אחרי שתגיע לתוצאה, תשתף כאן!
מעניין מאוד לראות איך זה יעבוד.
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 20-10-2015, 21:43
צלמית המשתמש של ShoobyD
  ShoobyD מנהל ShoobyD אינו מחובר  
מנהל משבראש, בלשנות, תכנות ויהדות
 
חבר מתאריך: 04.06.06
הודעות: 32,997
שלח הודעה דרך MSN אל ShoobyD Facebook profile LinkedIn profile Follow me...
בתגובה להודעה מספר 1 שנכתבה על ידי tbe שמתחילה ב "זיהוי התוכן של כתבה בלבד"

אני לא בטוח שהבנתי את כוונתך.
הרי כל אתר בנוי באופן שונה, אז איך אתה רוצה לחלץ מידע ספציפי מבלי לחקור את המבנה שלו?

אם אתה מקבל את קוד האתר, אז אתה יכול לחלץ את התוכן הטקסטואלי הכללי שלו; האופן תלוי בשפה שבה אתה משתמש.
אבל מדובר על תוכן כללי, כלומר כולל טקסט של תפריטים וכד׳, רק ללא התגים.

אם לדוגמא תכתוב את זה בשורת הכתובת:
קוד PHP:
 javascript:alertdocument.body.innerText ); 

אפשר לעשות אותו הדבר בצד שרת, שוב, תלוי בשפה שבה אתה משתמש.


נערך לאחרונה ע"י ShoobyD בתאריך 20-10-2015 בשעה 21:45.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 21:23

הדף נוצר ב 0.23 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2019 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר