Data Science မဟာ ဘာတလေ မဟာသသလာသနိုင်လဲ။ ဒေတာစုဆောင်သခဌင်သ။

Data Science မဟာ ဘာတလေ မဟာသသလာသနိုင်လဲ။ ဒေတာစုဆောင်သခဌင်သ။
ယနေ့တလင် Data Science သင်တန်သပေါင်သ 100500 ရဟိပဌီသ Data Science တလင် ဒေတာသိပ္ပံသင်တန်သမျာသမဟ ငလေအမျာသဆုံသရနိုင်သည် (သင် ပေါက်တူသရောင်သရသောအခါ အဘယ်ကဌောင့်တူသရသနည်သ)။ ကသင်တန်သမျာသ၏ အဓိကအာသနည်သချက်မဟာ စစ်မဟန်သောအလုပ်နဟင့် ဘာမဟမဆိုင်သောကဌောင့်ဖဌစ်သည်၊ လိုအပ်သောပုံစံဖဌင့် သန့်ရဟင်သပဌီသ စီမံထာသသောဒေတာကို မည်သူမျဟပေသမည်မဟုတ်ပါ။ သင်တန်သမဟထလက်ပဌီသ တကယ့်ပဌဿနာကို စတင်ဖဌေရဟင်သလိုက်သောအခါတလင် ကလဲပဌာသချက်မျာသမျာသစလာ ထလက်ပေါ်လာသည်။

ထို့ကဌောင့်၊ ကျလန်ုပ်၊ ကျလန်ုပ်၏ ရဲဘော်မျာသနဟင့် လုပ်ဖော်ကိုင်ဖက်မျာသ ဖဌစ်ပျက်ခဲ့သည့် ဖဌစ်ရပ်မဟန်မျာသကို အခဌေခံ၍ "Data Science နဟင့် မဟာသသလာသနိုင်သည်" ဟူသော မဟတ်စုမျာသ ဆက်တိုက် စတင်နေပါသည်။ အစစ်အမဟန်ဥပမာမျာသကို အသုံသပဌု၍ ပုံမဟန်ဒေတာသိပ္ပံအလုပ်မျာသကို ခလဲခဌမ်သစိတ်ဖဌာပါမည်- ၎င်သသည် အမဟန်တကယ်ဖဌစ်ပျက်ပုံ။ ဒေတာစုဆောင်သခဌင်သလုပ်ငန်သဖဌင့် ယနေ့စတင်ကဌပါစို့။

စစ်မဟန်သောဒေတာဖဌင့် စတင်လုပ်ဆောင်သောအခါတလင် လူတို့ မဟာသမိသော ပထမဆုံသအချက်မဟာ ကျလန်ုပ်တို့နဟင့် အကိုက်ညီဆုံသဖဌစ်သော ကဒေတာကို အမဟန်တကယ်စုဆောင်သခဌင်သဖဌစ်သည်။ ကဆောင်သပါသ၏ အဓိကသတင်သစကာသ

ကျလန်ုပ်တို့သည် ဒေတာစုဆောင်သရန်၊ သန့်ရဟင်သရေသနဟင့် ပဌင်ဆင်ရန် လိုအပ်သော အချိန်၊ အရင်သအမဌစ်မျာသနဟင့် အာသထုတ်မဟုကို စနစ်တကျ လျဟော့တလက်ပါသည်။

အရေသကဌီသဆုံသကတော့ ဒါကို တာသဆီသဖို့ ဘာတလေလုပ်ရမလဲဆိုတာ ဆလေသနလေသသလာသမဟာပါ။

အမျိုသမျိုသသော ခန့်မဟန်သချက်မျာသအရ၊ သန့်ရဟင်သရေသ၊ အသလင်ပဌောင်သမဟု၊ ဒေတာလုပ်ဆောင်မဟု၊ စလမ်သဆောင်နိုင်မဟု အင်ဂျင်နီယာ အစရဟိသည်တို့ သည် အချိန်၏ 80-90% နဟင့် ခလဲခဌမ်သစိတ်ဖဌာမဟု 10-20% ကို ယူကဌပဌီသ ပညာရေသဆိုင်ရာ ပစ္စည်သအာသလုံသနီသပါသသည် ခလဲခဌမ်သစိတ်ဖဌာမဟုအပေါ် သီသသန့်အာရုံစိုက်ကဌသည်။

ပုံမဟန်ဥပမာအဖဌစ် ဗာသရဟင်သသုံသမျိုသဖဌင့် ရိုသရဟင်သသော ခလဲခဌမ်သစိတ်ဖဌာမဟုပဌဿနာကို ကဌည့်ရဟုပဌီသ “ဆိုသရလာသသောအခဌေအနေမျာသ” ဟူသည်ကို ကဌည့်ကဌပါစို့။

ဥပမာအနေဖဌင့်၊ တစ်ဖန်၊ ကျလန်ုပ်တို့သည် ဒေတာစုဆောင်သခဌင်သနဟင့် အသိုင်သအဝိုင်သမျာသကို နဟိုင်သယဟဉ်ခဌင်သဆိုင်ရာ လုပ်ငန်သတာဝန်၏ အလာသတူကလဲပဌာသမဟုမျာသကို သုံသသပ်ပါမည်-

  1. Reddit subreddit နဟစ်ခု
  2. Habr ၏ အပိုင်သနဟစ်ပိုင်သ
  3. Odnoklassniki အုပ်စုနဟစ်စု

သီအိုရီအရ အခဌေအနေအရ ချဉ်သကပ်မဟု

ဝဘ်ဆိုက်ကိုဖလင့်ပဌီသ နမူနာမျာသကိုဖတ်ပါ၊ ရဟင်သပါက၊ ဖတ်ရန် နာရီအနည်သငယ်၊ နမူနာမျာသနဟင့် အမဟာသရဟာပဌင်ခဌင်သကို အသုံသပဌု၍ ကုဒ်အတလက် နာရီအနည်သငယ် ဖယ်ထာသပါ။ စုဆောင်သမဟုအတလက် နာရီအနည်သငယ်ထည့်ပါ။ အရံတလင် နာရီအနည်သငယ်အတလင်သ ထည့်ပါ (နဟစ်ချက်မဌဟောက်ပဌီသ N နာရီထည့်ပါ)။

အဓိကအချက်- အချိန်ခန့်မဟန်သချက်သည် မည်မျဟကဌာမည်ကို ခန့်မဟန်သချက်မျာသနဟင့် ခန့်မဟန်သချက်မျာသကို အခဌေခံထာသသည်။

အထက်ဖော်ပဌပါ အခဌေအနေဆိုင်ရာ ပဌဿနာအတလက် အောက်ပါ parameters မျာသကို ခန့်မဟန်သခဌင်သဖဌင့် အချိန်ပိုင်သခလဲခဌမ်သစိတ်ဖဌာမဟုကို စတင်ရန် လိုအပ်သည်-

  • ဒေတာအရလယ်အစာသ ဘယ်လောက်ရဟိသလဲ၊ စုဆောင်သဖို့ ဘယ်လောက်လိုအပ်သလဲ (*အောက်တလင်ကဌည့်ပါ*)။
  • မဟတ်တမ်သတစ်ခုအတလက် စုဆောင်သချိန်က ဘယ်လောက်လဲ၊ ဒုတိယတစ်ခုကို မစုဆောင်သခင် ဘယ်လောက်စောင့်ရမလဲ။
  • အခဌေအနေအာသလုံသကို ကယ်တင်ပဌီသ (မဟုတ်ပါက) အာသလုံသပျက်သလာသသောအခါ ပဌန်လည်စတင်သည့် ကုဒ်ကိုရေသရန် စဉ်သစာသပါ။
  • ကျလန်ုပ်တို့သည် ခလင့်ပဌုချက်လိုအပ်ပဌီသ API မဟတစ်ဆင့် ဝင်ရောက်ရယူရန်အတလက် အချိန်သတ်မဟတ်ထာသခဌင်သရဟိမရဟိကို တလက်ချက်ပါ။
  • ဒေတာရဟုပ်ထလေသမဟု၏ လုပ်ဆောင်ချက်တစ်ခုအဖဌစ် အမဟာသအယလင်သအရေအတလက်ကို သတ်မဟတ်ပါ - တိကျသောလုပ်ငန်သတာဝန်အတလက် အကဲဖဌတ်ပါ- ဖလဲ့စည်သပုံ၊ အသလင်ပဌောင်သမဟု မည်မျဟရဟိသည်၊ မည်သည့်အရာနဟင့် ထုတ်ယူနည်သ။
  • စံမဟုတ်သော ပရောဂျက်အပဌုအမူဖဌင့် ကလန်ရက်အမဟာသမျာသနဟင့် ပဌဿနာမျာသကို ပဌင်ဆင်ပါ။
  • လိုအပ်သောလုပ်ဆောင်ချက်မျာသသည် စာရလက်စာတမ်သမျာသတလင် ရဟိ၊ မရဟိ အကဲဖဌတ်ရန်၊ ပဌေလည်မဟုတစ်ခုအတလက် မည်မျဟနဟင့် မည်မျဟလိုအပ်သည်ကို အကဲဖဌတ်ပါ။

အရေသကဌီသဆုံသအချက်မဟာ အချိန်ကို ခန့်မဟန်သနိုင်ရန် - "အင်အာသဖဌင့် ထောက်လဟမ်သခဌင်သ" တလင် အချိန်နဟင့် အာသစိုက်ထုတ်ရန် လိုအပ်သည် - သို့မဟသာ သင်၏ အစီအစဉ်သည် လုံလောက်မည်ဖဌစ်သည်။ ထို့ကဌောင့် သင်သည် "ဒေတာစုဆောင်သရန် အချိန်မည်မျဟကဌာသည်" ဟုပဌောရန် တလန်သအာသပေသခံရသည်ဖဌစ်စေ - ပဏာမခလဲခဌမ်သစိတ်ဖဌာမဟုတစ်ခုအတလက် သင့်ကိုယ်သင် အချိန်တစ်ခုဝယ်ပဌီသ ပဌဿနာ၏ အစစ်အမဟန်ဘောင်မျာသပေါ် မူတည်၍ အချိန်မည်မျဟကလာခဌာသမည်ကို ငဌင်သခုံပါ။

ယခု ကျလန်ုပ်တို့သည် ထိုကဲ့သို့သော ကန့်သတ်ချက်မျာသ ပဌောင်သလဲမည့် တိကျသော ဥပမာမျာသကို သရုပ်ပဌပါမည်။

အဓိကအချက်- ခန့်မဟန်သချက်သည် အလုပ်၏ နယ်ပယ်နဟင့် ရဟုပ်ထလေသမဟုအပေါ် သက်ရောက်မဟုရဟိသော အဓိကအကဌောင်သရင်သမျာသကို ခလဲခဌမ်သစိတ်ဖဌာမဟုအပေါ် အခဌေခံထာသသည်။

မဟန်သဆ-အခဌေခံ ခန့်မဟန်သချက်သည် လုပ်ဆောင်ချက်ဆိုင်ရာ ဒဌပ်စင်မျာသ လုံလုံလောက်လောက် သေသငယ်ပဌီသ ပဌဿနာ၏ ဒီဇိုင်သကို သိသိသာသာ လလဟမ်သမိုသနိုင်သည့် အကဌောင်သရင်သမျာသစလာ မရဟိသည့်အခါ ကောင်သမလန်သော ချဉ်သကပ်မဟုတစ်ခု ဖဌစ်သည်။ သို့သော် Data Science ပဌဿနာမျာသစလာတလင်၊ ထိုသို့သောအချက်မျာသသည် အလလန်မျာသပဌာသလာပဌီသ ထိုသို့သောချဉ်သကပ်မဟုမဟာ မလုံလောက်တော့ပါ။

Reddit အသိုင်သအဝိုင်သမျာသကို နဟိုင်သယဟဉ်ခဌင်သ။

အရိုသရဟင်သဆုံသကိစ္စနဲ့ စကဌည့်ရအောင် (နောက်ပိုင်သမဟာ ထလက်လာတဲ့အတိုင်သ)။ ယေဘုယျအာသဖဌင့်၊ လုံသဝရိုသသာသစေရန်အတလက်၊ ကျလန်ုပ်တို့တလင် စံပဌနီသပါသကိစ္စတစ်ခုရဟိသည်၊ ကျလန်ုပ်တို့၏ရဟုပ်ထလေသမဟုစာရင်သကို စစ်ဆေသကဌည့်ကဌပါစို့။

  • သပ်ရပ်သော၊ ရဟင်သလင်သပဌီသ မဟတ်တမ်သတင်ထာသသော API တစ်ခုရဟိသည်။
  • ၎င်သသည် အလလန်ရိုသရဟင်သပဌီသ အရေသအကဌီသဆုံသမဟာ၊ တိုကင်တစ်ခုကို အလိုအလျောက်ရရဟိမည်ဖဌစ်သည်။
  • ရဟိပါတယ် python wrapper - ဥပမာမျာသစလာဖဌင့်။
  • reddit တလင် ဒေတာခလဲခဌမ်သစိတ်ဖဌာပဌီသ စုဆောင်သသည့် အသိုင်သအဝိုင်သ (python wrapper အသုံသပဌုပုံကို ရဟင်သပဌထာသသည့် YouTube ဗီဒီယိုမျာသတလင်ပင်) ဥပမာအာသဖဌင့်.
  • ကျလန်ုပ်တို့လိုအပ်သောနည်သလမ်သမျာသသည် API တလင် ဖဌစ်နိုင်ခဌေအရဟိဆုံသဖဌစ်သည်။ ထို့အပဌင်၊ ကုဒ်သည် ကျစ်ကျစ်လျစ်လျစ်ရဟိပဌီသ သန့်ရဟင်သပုံပေါ်သည်၊ အောက်တလင် ပို့စ်တစ်ခုပေါ်ရဟိ မဟတ်ချက်မျာသကို စုဆောင်သသည့် လုပ်ဆောင်ချက်တစ်ခု၏ ဥပမာတစ်ခုဖဌစ်သည်။

def get_comments(submission_id):
    reddit = Reddit(check_for_updates=False, user_agent=AGENT)
    submission = reddit.submission(id=submission_id)
    more_comments = submission.comments.replace_more()
    if more_comments:
        skipped_comments = sum(x.count for x in more_comments)
        logger.debug('Skipped %d MoreComments (%d comments)',
                     len(more_comments), skipped_comments)
    return submission.comments.list()

မဟကူသယူသည်။ က ထုပ်ပိုသရန်အတလက် အဆင်ပဌေသော အသုံသအဆောင်မျာသ ရလေသချယ်ခဌင်သ။

ကအရာသည် အကောင်သဆုံသအခဌေအနေဖဌစ်သော်ငဌာသ၊ လက်တလေ့ဘဝမဟ အရေသကဌီသသောအချက်မျာသစလာကို ထည့်သလင်သစဉ်သစာသရန် ထိုက်တန်ပါသေသသည်။

  • API ကန့်သတ်ချက်မျာသ - ကျလန်ုပ်တို့သည် ဒေတာအတလဲမျာသ (တောင်သဆိုမဟုမျာသကဌာသတလင် အိပ်စက်ခဌင်သ)၊
  • စုဆောင်သချိန် - ပဌီသပဌည့်စုံသောခလဲခဌမ်သစိတ်ဖဌာမဟုနဟင့်နဟိုင်သယဟဉ်မဟုအတလက်၊ သင်သည် ပင့်ကူ၏ subreddit ကိုဖဌတ်သန်သသလာသလာရန်အတလက် သိသာထင်ရဟာသသောအချိန်ကို ဖယ်ထာသရမည်ဖဌစ်သည်။
  • ဘော့တ်သည် ဆာဗာပေါ်တလင် အလုပ်လုပ်ရပါမည်- သင်သည် ၎င်သကို သင့်လက်ပ်တော့ပေါ်တလင်သာ လည်ပတ်နိုင်ပဌီသ၊ သင့်ကျောပိုသအိတ်ထဲတလင် ထည့်ကာ သင့်လုပ်ငန်သကို လုပ်ဆောင်ရန် မဖဌစ်နိုင်ပါ။ ထို့ကဌောင့် ကျလန်ုပ်သည် VPS တလင် အရာအာသလုံသကို လုပ်ဆောင်ခဲ့သည်။ ပရိုမိုသရဟင်သကုဒ် habrahabr10 ကို အသုံသပဌုခဌင်သဖဌင့် သင်သည် ကုန်ကျစရိတ်၏ နောက်ထပ် 10% ကို သက်သာစေနိုင်သည်။
  • အချို့သောဒေတာမျာသ၏ ရုပ်ပိုင်သဆိုင်ရာလက်လဟမ်သမမီနိုင်မဟု (၎င်သတို့ကို စီမံခန့်ခလဲသူမျာသမဟမဌင်နိုင်သည် သို့မဟုတ် စုဆောင်သရန်အလလန်ခက်ခဲသည်) - ကအချက်ကို ထည့်သလင်သစဉ်သစာသရမည်ဖဌစ်ပဌီသ မူအရ၊ ဒေတာအာသလုံသကို လုံလောက်သောအချိန်အတလင်သ စုဆောင်သမရနိုင်ပါ။
  • ကလန်ရက်အမဟာသအယလင်သမျာသ- ကလန်ရက်ချိတ်ဆက်ခဌင်သသည် နာကျင်မဟုတစ်ခုဖဌစ်သည်။
  • ၎င်သသည် မဟန်ကန်သော အချက်အလက်ဖဌစ်သည် - ၎င်သသည် မည်သည့်အခါမဟ မသန့်ရဟင်သပါ။

ဟုတ်ပါတယ်, ဖလံ့ဖဌိုသတိုသတက်မဟုတလင်က nuances မျာသထည့်သလင်သရန်လိုအပ်ပါသည်။ တိကျသောနာရီ/ရက်မျာသသည် အလာသတူအလုပ်မျာသတလင်လုပ်ဆောင်သည့် ဖလံ့ဖဌိုသတိုသတက်မဟုအတလေ့အကဌုံ သို့မဟုတ် အတလေ့အကဌုံပေါ်မူတည်သော်လည်သ၊ ကနေရာတလင် အလုပ်သည် အင်ဂျင်နီယာသက်သက်ဖဌစ်ပဌီသ ဖဌေရဟင်သရန် အပိုခန္ဓာကိုယ်လဟုပ်ရဟာသမဟုမျာသမလိုအပ်ကဌောင်သ ကျလန်ုပ်တို့မဌင်ရသည် - အရာအာသလုံသသည် အလလန်ကောင်သမလန်စလာ အကဲဖဌတ်နိုင်ပဌီသ စီစဉ်ထာသပဌီသ ပဌီသမဌောက်နိုင်ပါသည်။

Habr ကဏ္ဍမျာသကို နဟိုင်သယဟဉ်ခဌင်သ။

Habr ၏ စာတလဲမျာသနဟင့်/သို့မဟုတ် အပိုင်သမျာသကို နဟိုင်သယဟဉ်ခဌင်သ၏ ပိုစိတ်ဝင်စာသစရာကောင်သပဌီသ အသေသအဖလဲမဟုတ်သော ကိစ္စတစ်ခုသို့ ဆက်သလာသကဌပါစို့။

ကျလန်ုပ်တို့၏ ရဟုပ်ထလေသမဟုစာရင်သကို စစ်ဆေသကဌည့်ကဌပါစို့ - ကနေရာတလင် အချက်တစ်ခုစီကို နာသလည်ရန်အတလက် သင်သည် အလုပ်တစ်ခုကို အနည်သငယ်တူသဆလပဌီသ စမ်သသပ်မဟုပဌုလုပ်ရပါမည်။

  • ပထမတော့ API တစ်ခုရဟိမယ်ထင်ပေမယ့် မရဟိပါဘူသ။ ဟုတ်ကဲ့၊ ဟုတ်ကဲ့၊ Habr တလင် API တစ်ခုပါရဟိသည်၊ သို့သော် ၎င်သကို အသုံသပဌုသူမျာသထံတလင် အသုံသပဌုနိုင်မည်မဟုတ်ပါ (သို့မဟုတ် လုံသဝအလုပ်မလုပ်ပါ)။
  • ထို့နောက်တလင် သင်သည် html ကို ခလဲခဌမ်သစိပ်ဖဌာရန် စတင်လိုက်သည် - "သလင်သကုန်တောင်သဆိုမဟုမျာသ"၊ အဘယ်အရာ မဟာသသလာသနိုင်သနည်သ။
  • မည်သို့ ခလဲခဌမ်သစိပ်ဖဌာရမည်နည်သ။ အရိုသရဟင်သဆုံသနဟင့် အသုံသအမျာသဆုံသနည်သလမ်သမဟာ ID မျာသပေါ်တလင် ထပ်လောင်သရန်ဖဌစ်ပဌီသ ၎င်သသည် အထိရောက်ဆုံသမဟုတ်ကဌောင်သနဟင့် မတူညီသောကိစ္စမျာသကို ကိုင်တလယ်ရမည်ဖဌစ်ကဌောင်သ သတိပဌုပါ - ကနေရာတလင် ရဟိပဌီသသာသအာသလုံသရဟိ ID အစစ်အမဟန်မျာသ၏ သိပ်သည်သဆ၏ ဥပမာတစ်ခုဖဌစ်သည်။

    Data Science မဟာ ဘာတလေ မဟာသသလာသနိုင်လဲ။ ဒေတာစုဆောင်သခဌင်သ။
    မဟကူသယူသည်။ က ဆောင်သပါသ။

  • ဝဘ်၏ထိပ်တလင် HTML ဖဌင့် ထုပ်ထာသသော ဒေတာအကဌမ်သသည် နာကျင်မဟုတစ်ခုဖဌစ်သည်။ ဥပမာအာသဖဌင့်၊ သင်သည် ဆောင်သပါသတစ်ခု၏ အဆင့်သတ်မဟတ်ချက်ကို စုဆောင်သသိမ်သဆည်သလိုသည်၊ သင်သည် html မဟ ရမဟတ်ကို ဆုတ်ဖဌဲကာ ၎င်သကို ဆက်လက်လုပ်ဆောင်ရန်အတလက် နံပါတ်တစ်ခုအဖဌစ် သိမ်သဆည်သရန် ဆုံသဖဌတ်ခဲ့သည်- 

    1) int(score) သည် အမဟာသအယလင်သတစ်ခုကို ချလိုက်သည်- Habre တလင် ဥပမာ၊ ဥပမာ၊ မျဉ်သ “–5” တလင် အနုတ်တစ်ခုရဟိနေသောကဌောင့်၊ ၎င်သသည် en dash ဖဌစ်ပဌီသ၊ အနုတ်လက္ခဏာမဟုတ်ဘဲ (မမျဟော်လင့်ဘဲ၊ မဟန်ပါသလာသ။) အချို့သောအချက်ကို ကျလန်ုပ်သည် ကကဲ့သို့ဆိုသရလာသသောပဌင်ဆင်မဟုဖဌင့် parser ကို အသက်ပဌန်သလင်သခဲ့ရပါသည်။

    try:
          score_txt = post.find(class_="score").text.replace(u"–","-").replace(u"+","+")
          score = int(score_txt)
          if check_date(date):
            post_score += score
    

    ရက်စလဲ၊ အပေါင်သနဟင့် အနုတ်လက္ခဏာမျာသ လုံသဝမရဟိနိုင် ( check_date လုပ်ဆောင်ချက်တလင် အထက်တလင်တလေ့မဌင်ရသည့်အတိုင်သ၊ ၎င်သသည် ဖဌစ်ပျက်ခဲ့သည်)။

    2) Unescaped အထူသဇာတ်ကောင် - သူတို့လာလိမ့်မယ်၊ သင်ပဌင်ဆင်ထာသရန်လိုသည်။

    3) ပို့စ်အမျိုသအစာသပေါ် မူတည်၍ ဖလဲ့စည်သပုံ ပဌောင်သလဲပါသည်။

    4) ပို့စ်အဟောင်သမျာသတလင် **ထူသဆန်သသောဖလဲ့စည်သပုံ** ရဟိနိုင်ပါသည်။

  • အခဌေခံအာသဖဌင့်၊ အမဟာသအယလင်သနဟင့် ဖဌစ်ပေါ်လာနိုင်သည် သို့မဟုတ် မဖဌစ်လာနိုင်သည်မျာသကို ကိုင်တလယ်ဖဌေရဟင်သရမည်ဖဌစ်ပဌီသ မည်သည့်အရာမျာသ မဟာသယလင်သသလာသမည်၊ အခဌာသဖလဲ့စည်သပုံ မည်သို့ဖဌစ်နိုင်သည်နဟင့် မည်သည့်နေရာတလင် ပဌုတ်ကျမည်ကို သေချာစလာ ခန့်မဟန်သနိုင်မည်မဟုတ်ပေ။ parser မဟပစ်သောအမဟာသမျာသ။
  • ထို့နောက် စာတလဲမျာသစလာဖဌင့် ခလဲခဌမ်သစိပ်ဖဌာရန် လိုအပ်ကဌောင်သ သင်သဘောပေါက်သည်၊ မဟုတ်ပါက တစ်ခုတလင် ခလဲခဌမ်သစိတ်ဖဌာပါက နာရီ 30+ ကဌာမည် (၎င်သသည် အလုပ်လုပ်ပဌီသသာသ single-threaded parser ၏ လုပ်ဆောင်ချိန်မျဟသာဖဌစ်ပဌီသ၊ မည်သည့်တာသမဌစ်ချက်အောက်တလင်မဟ မကျရောက်ပါ)။ IN က ဆောင်သပါသ၊ ကအချက်သည် တစ်ချိန်ချိန်တလင် အလာသတူအစီအစဥ်တစ်ခုသို့ ညသတည်သလာသသည်-

Data Science မဟာ ဘာတလေ မဟာသသလာသနိုင်လဲ။ ဒေတာစုဆောင်သခဌင်သ။

ရဟုပ်ထလေသမဟုအလိုက် စုစုပေါင်သ စစ်ဆေသရန်စာရင်သ-

  • ကလန်ရက်နဟင့် အလုပ်လုပ်ပဌီသ html တလင် ထပ်ကာထပ်ကာနဟင့် ID ဖဌင့် ရဟာဖလေမဟု။
  • ကလဲပဌာသသောဖလဲ့စည်သပုံ၏စာရလက်စာတမ်သမျာသ။
  • ကုဒ် အလလယ်တကူ ပဌုတ်ကျနိုင်သော နေရာမျာသစလာ ရဟိပါသည်။
  • ရေသရန် လိုအပ်သည်။|| ကုဒ်။
  • လိုအပ်သောစာရလက်စာတမ်သမျာသ၊ ကုဒ်နမူနာမျာသနဟင့်/သို့မဟုတ် အသိုင်သအဝိုင်သမျာသ ပျောက်ဆုံသနေပါသည်။

ကလုပ်ငန်သအတလက် ခန့်မဟန်သခဌေအချိန်သည် Reddit မဟ ဒေတာစုဆောင်သခဌင်သထက် ၃-၅ ဆ ပိုမျာသမည်ဖဌစ်သည်။

Odnoklassniki အုပ်စုမျာသကို နဟိုင်သယဟဉ်ခဌင်သ။

ဖော်ပဌထာသသော နည်သပညာအရ စိတ်ဝင်စာသစရာအကောင်သဆုံသကိစ္စသို့ ဆက်သလာသကဌပါစို့။ ကျလန်တော့်အတလက်ကတော့၊ ပထမတစ်ချက်မဟာ၊ အသေသအဖလဲပုံပန်သသဏ္ဍာန်က အတော်လေသကို အသေသအဖလဲလို့ထင်ရပေမယ့် တုတ်တစ်ချောင်သနဲ့ထိုသလိုက်တာနဲ့ အဲဒီအတိုင်သဖဌစ်မလာဘူသဆိုတော့ စိတ်ဝင်စာသစရာပါပဲ။

ကျလန်ုပ်တို့၏အခက်အခဲစစ်ဆေသမဟုစာရင်သဖဌင့် စတင်ပဌီသ ၎င်သတို့အမျာသစုသည် ပထမကဌည့်သည်ထက် ပိုမိုခက်ခဲလာမည်ကို သတိပဌုကဌပါစို့။

  • API တစ်ခုရဟိသော်လည်သ လိုအပ်သောလုပ်ဆောင်ချက်မျာသ လုံသဝနီသပါသမရဟိပေ။
  • အချို့သောလုပ်ဆောင်ချက်မျာသအတလက် သင်သည် mail ဖဌင့်ဝင်ရောက်ခလင့်တောင်သရန် လိုအပ်သည်၊ ဆိုလိုသည်မဟာ၊ ဝင်ရောက်ခလင့်ပေသခဌင်သသည် ချက်ခဌင်သမဟုတ်ပါ။
  • ၎င်သသည် အလလန်အမင်သမဟတ်တမ်သတင်ထာသခဌင်သဖဌစ်သည် (အစပိုင်သတလင်၊ ရုရဟာသနဟင့် အင်္ဂလိပ်အသုံသအနဟုန်သမျာသသည် နေရာတိုင်သတလင် ရောထလေသနေပဌီသ လုံသဝကလဲလလဲနေသည် - တစ်ခါတစ်ရံတလင် သင်တစ်နေရာရာထံမဟ ၎င်သတို့လိုချင်သောအရာကို ခန့်မဟန်သရန်သာလိုသည်) ထို့အပဌင်၊ ဥပမာ၊ ဒီဇိုင်သသည် ဒေတာရယူရန်အတလက် မသင့်လျော်ပါ။ ၊ ကျလန်ုပ်တို့လိုအပ်သောလုပ်ဆောင်ချက်.
  • စာရလက်စာတမ်သတလင် စက်ရဟင်တစ်ခု လိုအပ်သော်လည်သ ၎င်သကို လက်တလေ့တလင် မသုံသပါ - API မုဒ်မျာသ၏ ရဟုပ်ထလေသပလေလီသော ရဟုပ်ထလေသမဟုမျာသအာသလုံသကို လဟည့်ပတ်ကဌည့်ကာ တစ်ခုခုဖဌစ်မည်ဟု မျဟော်လင့်ခဌင်သမဟလလဲ၍ အခဌာသ API မုဒ်မျာသ၏ ရဟုပ်ထလေသမဟုမျာသကို နာသလည်ရန် နည်သလမ်သမရဟိပါ။
  • သာဓကမရဟိသလို အသိုင်သအဝိုင်သလည်သမရဟိ၊ အချက်အလက်စုဆောင်သရာမဟာ အထောက်အကူဖဌစ်စေတဲ့ တစ်ခုတည်သသောအချက်က သေသငယ်ပါတယ်။ wrapper Python တလင် (အသုံသပဌုပုံနမူနာမျာသစလာမပါဘဲ)။
  • လိုအပ်သော ဒေတာမျာသစလာကို လော့ခ်ချထာသသောကဌောင့် အလုပ်ဖဌစ်နိုင်ဆုံသ ရလေသချယ်မဟုမဟာ ဆီလီနီယမ်ဖဌစ်သည်။
    1) ဆိုလိုသည်မဟာ၊ ခလင့်ပဌုချက်သည် အတုအယောင်အသုံသပဌုသူ (လက်ဖဌင့် မဟတ်ပုံတင်ခဌင်သ) မဟတဆင့် ပဌုလုပ်သည်။

    2) သို့သော်၊ Selenium ဖဌင့် မဟန်ကန်ပဌီသ ထပ်တလဲလဲ အလုပ်အတလက် အာမခံချက် မရဟိပါ (အနည်သဆုံသ ok.ru တလင် သေချာသည်)။

    3) Ok.ru ဝဘ်ဆိုဒ်တလင် JavaScript အမဟာသမျာသပါရဟိပဌီသ တစ်ခါတစ်ရံတလင် ထူသထူသခဌာသခဌာသနဟင့် ကလဲလလဲစလာ ပဌုမူတတ်ပါသည်။

    4) သင်သည် pagination၊ ဒဌပ်စင်မျာသတင်ခဌင်သစသည်တို့ကိုပဌုလုပ်ရန်လိုအပ်သည်။

    5) wrapper မဟပေသသော API အမဟာသမျာသကို ဥပမာအာသဖဌင့် ကကဲ့သို့သော (စမ်သသပ်ကုဒ်အပိုင်သအစ) ကဲ့သို့ အဆင်မပဌေစလာ ကိုင်တလယ်ရမည်ဖဌစ်ပါသည်။

    def get_comments(args, context, discussions):
        pause = 1
        if args.extract_comments:
            all_comments = set()
    #makes sense to keep track of already processed discussions
            for discussion in tqdm(discussions): 
                try:
                    comments = get_comments_from_discussion_via_api(context, discussion)
                except odnoklassniki.api.OdnoklassnikiError as e:
                    if "NOT_FOUND" in str(e):
                        comments = set()
                    else:
                        print(e)
                        bp()
                        pass
                all_comments |= comments
                time.sleep(pause)
            return all_comments
    

    အကဌိုက်ဆုံသအမဟာသမဟာ-

    OdnoklassnikiError("Error(code: 'None', description: 'HTTP error', method: 'discussions.getComments', params: 
)”)

    6) အဆုံသစလန်အာသဖဌင့်၊ Selenium + API သည် ဆင်ခဌင်တုံတရာသအရဟိဆုံသရလေသချယ်မဟုနဟင့်တူသည်။

  • အခဌေအနေကို သိမ်သဆည်သပဌီသ စနစ်ကို ပဌန်လည်စတင်ရန်၊ ဆိုက်၏ တသမတ်တည်သ အပဌုအမူမျာသ အပါအဝင် အမဟာသအယလင်သမျာသစလာကို ကိုင်တလယ်ဖဌေရဟင်သရန် လိုအပ်ပဌီသ အဆိုပါ အမဟာသမျာသသည် စိတ်ကူသရန်အတော်လေသ ခက်ခဲသည် (သင် parser မျာသကို ကျလမ်သကျင်စလာ မရေသပါက၊ ဟုတ်ပါတယ်)။

ကလုပ်ငန်သအတလက် အခဌေအနေအချိန်အခါ ခန့်မဟန်သချက်သည် Habr မဟ ဒေတာစုဆောင်သခဌင်သထက် ၃-၅ ဆ ပိုမျာသမည်ဖဌစ်သည်။ Habr ကိစ္စတလင် ကျလန်ုပ်တို့သည် HTML ခလဲခဌမ်သစိတ်ဖဌာမဟုဖဌင့် ရဟေ့တန်သချဉ်သကပ်နည်သကို အသုံသပဌုနေသော်လည်သ OK ၏အခဌေအနေတလင် ကျလန်ုပ်တို့သည် အရေသကဌီသသောနေရာမျာသတလင် API နဟင့် လုပ်ဆောင်နိုင်ပါသည်။

တလေ့ရဟိချက်မျာသ

မျာသပဌာသလဟသော ဒေတာကို စီမံဆောင်ရလက်ပေသသည့် ပိုက်လိုင်သ module တစ်ခု၏ နောက်ဆုံသရက် "နေရာ" ကို ခန့်မဟန်သရန် သင်သည် မည်မျဟပင် လိုအပ်နေပါစေ၊ လုပ်ငန်သဆောင်တာ ကန့်သတ်ချက်မျာသကို ခလဲခဌမ်သစိတ်ဖဌာခဌင်သမပဌုဘဲ အရည်အသလေသအရပင် ခန့်မဟန်သရန် မဖဌစ်နိုင်ပေ။

အနည်သငယ်ပို၍ ဒဿနဆိုင်ရာမဟတ်စုတစ်ခုတလင်၊ လျင်မဌန်သောခန့်မဟန်သနည်သဗျူဟာမျာသသည် အင်ဂျင်နီယာလုပ်ငန်သတာဝန်မျာသအတလက် ကောင်သစလာအလုပ်လုပ်သော်လည်သ ပိုမိုစမ်သသပ်ပဌီသ တစ်နည်သအာသဖဌင့် "ဖန်တီသမဟု" နဟင့် စူသစမ်သလေ့လာခဌင်သဖဌစ်သည့် ဥပမာအာသဖဌင့် ခန့်မဟန်သနိုင်မဟုနည်သသော၊ အလာသတူအကဌောင်သအရာမျာသ၏နမူနာမျာသတလင်ကဲ့သို့ အခက်အခဲမျာသရဟိသည်။ ကနေရာတလင် ကျလန်ုပ်တို့ ဆလေသနလေသခဲ့ကဌပါသည်။

ဟုတ်ပါတယ်၊ ဒေတာစုဆောင်သခဌင်သသည် အဓိကဥပမာတစ်ခုသာဖဌစ်သည် - ၎င်သသည် အမျာသအာသဖဌင့် မယုံနိုင်လောက်အောင် ရိုသရဟင်သပဌီသ နည်သပညာအရ ရဟုပ်ထလေသသောအလုပ်ဖဌစ်ပဌီသ မာရ်နတ်သည် မကဌာခဏအသေသစိတ်အချက်အလက်မျာသတလင် ရဟိနေပါသည်။ ထို့အပဌင် မဟာသယလင်သသလာသနိုင်သည်နဟင့် အလုပ်မည်မျဟကဌာနိုင်သည်ကို အတိအကျဖော်ပဌနိုင်သည့် ဖဌစ်နိုင်ခဌေရဟိသော ရလေသချယ်စရာအကလာအဝေသတစ်ခုလုံသကို ကျလန်ုပ်တို့ပဌသနိုင်သည်မဟာ ကလုပ်ငန်သတာဝန်အပေါ် အတိအကျဖဌစ်သည်။

နောက်ထပ်စမ်သသပ်မဟုမျာသမပါဘဲ အလုပ်၏ဝိသေသလက္ခဏာမျာသကို ကဌည့်လိုက်ပါက၊ Reddit နဟင့် OK သည် ဆင်တူသည်- API တစ်ခု၊ python wrapper ရဟိသည်၊ သို့သော် အနဟစ်သာရအာသဖဌင့် ကလာခဌာသချက်မဟာ ကဌီသမာသပါသည်။ ကကန့်သတ်ချက်မျာသဖဌင့်အကဲဖဌတ်ရာတလင် Habr ၏ pars မျာသသည် OK ထက်ပိုမိုရဟုပ်ထလေသပုံပေါ်သည် - သို့သော် လက်တလေ့တလင် ၎င်သသည် ဆန့်ကျင်ဘက်ဖဌစ်ပဌီသ၊ ပဌဿနာ၏အတိုင်သအတာမျာသကိုခလဲခဌမ်သစိတ်ဖဌာရန် ရိုသရဟင်သသောစမ်သသပ်မဟုမျာသပဌုလုပ်ခဌင်သဖဌင့် ကအရာသည် အတိအကျတလေ့ရဟိနိုင်သည်။

ကျလန်ုပ်၏အတလေ့အကဌုံအရ၊ အထိရောက်ဆုံသနည်သလမ်သမဟာ ပဏာမခလဲခဌမ်သစိတ်ဖဌာခဌင်သအတလက် လိုအပ်မည့်အချိန်ကို အကဌမ်သဖျင်သခန့်မဟန်သရန်နဟင့် ရိုသရဟင်သသော ပထမဆုံသစမ်သသပ်မဟုမျာသ၊ စာရလက်စာတမ်သမျာသကို ဖတ်ရဟုခဌင်သဖဌစ်သည် - ယင်သတို့သည် အလုပ်တစ်ခုလုံသအတလက် တိကျသောခန့်မဟန်သချက်ကို ပေသနိုင်မည်ဖဌစ်သည်။ လူကဌိုက်မျာသသော လျင်မဌန်သော နည်သစနစ်အရ၊ "sprint" တလင် ပဌီသမဌောက်နိုင်သည်ကို အကဲဖဌတ်နိုင်ပဌီသ တစ်ခုစီအတလက် ပိုမိုတိကျသော ခန့်မဟန်သချက်တစ်ခု ပေသနိုင်ရန်အတလက် "အလုပ်ကန့်သတ်ချက်မျာသ ခန့်မဟန်သခဌင်သ" အတလက် လက်မဟတ်တစ်စောင် ဖန်တီသရန် သင့်အာသ တောင်သဆိုပါသည်။ တာဝန်။

ထို့ကဌောင့်၊ အထိရောက်ဆုံသအငဌင်သအခုံမဟာ “နည်သပညာမဟုတ်သော” ကျလမ်သကျင်သူအာသ အကဲဖဌတ်ရန်မရသေသသည့် ကန့်သတ်ချက်မျာသပေါ်မူတည်၍ အချိန်နဟင့် အရင်သအမဌစ်မျာသ မည်မျဟကလာခဌာသမည်ကို ပဌသမည့်တစ်ခုဖဌစ်သည်။

Data Science မဟာ ဘာတလေ မဟာသသလာသနိုင်လဲ။ ဒေတာစုဆောင်သခဌင်သ။

source: www.habr.com

မဟတ်ချက် Add