איך אפשר לעשות scraping לרשימות מוזמנים לועדות הכנסת?

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

תמיד יש חלק “מוזמנים” בפרוטוקות, אבל לא נראה שיש אטריביוט שמייחד את זה.

ניסיתי להוריד את התמלילים עצמם ולחפש לפי REGEX שורות שמכילות את המחרוזת “מוזמנים” בעברית, אבל לא הצלחתי לגרום לקידוד לעבוד (גם הגיגולים בנושא העלו חרס).

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

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

dont use regex to scrape stuff off the web parsing html with regex is like trying to get a nail into a wall with your forehead
if you program in python use beautiful soup
if you are using ruby try nokogiri
and if you are using c, stop , just stop , c is not for webdev.

תודה רבה על המענה!
אני אכן משתמש בפייתון, ובאמת ניסיתי לעשות את זה בהתחלה עם Beautiful Soup 4, אבל גם שם נתקלתי בכמה בעיות (“not well formed” ובעיות קידוד).
מכל מקום, הנחתי שבגלל שאין אטריביוט או class ספציפי למה שאני מחפש אני ממילא אצטרך להשתמש ב-regex (כי בעצם אני יכול לבודד את זה רק על פי הטקסט עצמו), לא?

אתה יכול להשתמש בAPI של כנסת פתוחה בשביל לקבל בצורה נוחה ומקודדת את החלקים של הפרוטוקול

פה יש את הרשימה של כל ישיבות הועדות (זה מחולק לדפים, כאשר בכל דף יש קישור לדף הבא בmeta.next):
https://oknesset.org/api/v2/committeemeeting/?format=json

בכל אובייקט של ישיבת ועדה אתה צריך ללכת לפרוטוקול עצמו (נמצא בresource_uri) לדוגמה -
https://oknesset.org/api/v2/committeemeeting/10468/?format=json

שם אתה יכול לעבור על כל הערכים של protocol ולחפש את האובייקט שמכיל header: “מוזמנים”, לקחת את הטקסט שלו ואז באמת עם regexp (או סתם עם פיצול לשורות) אתה יכול להוציא רשימה של המוזמנים

אם אתה עושה את זה בpython אז אלה הספריות שאתה צריך:
http://requests.readthedocs.org/en/latest/
https://docs.python.org/2/library/json.html

מהמם!
תודה רבה!!!

אגב, אם מעניין מישהו, אז זה מה שעשיתי עם זה בסוף:

לייק 1

מגניב! :beers:

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

לצורך העניין, כדי לאחד בן-אדם עם הטייטל שלו כרגע מרשימת המוזמנים זה ה-REGEX הרלוונטי:
’.+[\r\n]+–[\r\n]+.+’

אולי שווה לשנות את זה ולהצמיד בין השם של הבן-אדם לטייטל שלו?
מבחינת הקריאות של הפרוטוקול נראה לי שזה יעזור.

סליחה על התגובה המאוחרת… אנחנו עובדים על זה