Semalt ကျွမ်းကျင်သူ: Python နှင့် BeautifulSoup ။ လွယ်ကူစွာဖြင့်ခြစ်ရာဆိုဒ်များ

ဒေတာခွဲခြမ်းစိတ်ဖြာခြင်းသို့မဟုတ်စက်သင်ယူခြင်းစီမံကိန်းများကိုလုပ်ဆောင်သည့်အခါလိုအပ်သောအချက်အလက်များကိုရယူရန်နှင့်သင်၏စီမံကိန်းကိုပြီးမြောက်ရန်အတွက်ဝက်ဘ်ဆိုက်များကိုဖျက်ပစ်ရန်လိုအပ်နိုင်သည်။ Python ပရိုဂရမ်းမင်းဘာသာစကားတွင်ဤရည်ရွယ်ချက်အတွက်အသုံးပြုနိုင်သည့်အစွမ်းထက်သောကိရိယာတန်ဆာပလာများနှင့် module များရှိသည်။ ဥပမာအားဖြင့်၊ သင်သည် HTML parsing အတွက် BeautifulSoup module ကိုသုံးနိုင်သည်။
ဤနေရာတွင်ကျွန်ုပ်တို့သည် BeautifulSoup ကိုကြည့်ပြီး ဝက်ဘ်ခြစ်ခြင်း တွင်အဘယ်ကြောင့်ဤမျှကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုရကြောင်းရှာဖွေကြမည်။
BeautifulSoup သွင်ပြင်လက္ခဏာများ
- ၎င်းသည် parse သစ်များကိုလွယ်ကူစွာရှာဖွေခြင်း၊ ရှာဖွေခြင်းနှင့်ပြုပြင်ခြင်းအတွက်နည်းလမ်းအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ သို့မှသာသင်သည်စာရွက်စာတမ်းများကိုအလွယ်တကူခွဲထုတ်နိုင်ပြီးသင်လိုအပ်သောအရာအားလုံးကိုကုဒ်မရေးသားဘဲထုတ်ယူနိုင်သည်။
- ၎င်းသည်အထွက်စာရွက်စာတမ်းများကို UTF-8 နှင့်အဝင်စာရွက်စာတမ်းများကိုယူနီကုဒ်သို့အလိုအလျောက်ပြောင်းလဲပေးသည်။ ဆိုလိုသည်မှာစာရွက်စာတမ်းတွင် encoding တစ်ခုသတ်မှတ်ထားပြီးသို့မဟုတ် Beautiful Soup မှ၎င်းကို autodetect လုပ်နိုင်သည်ဆိုပါကသင် encodings များစိုးရိမ်စရာမလိုပါ။
BeautifulSoup သည် html5lib နှင့် lxml ကဲ့သို့သောကျော်ကြားသော Python parsers များထက်သာလွန်သည်။ ဒါဟာကွဲပြားခြားနားသောခွဲခြမ်းစိတ်ဖြာနည်းဗျူဟာကြိုးစားရန်ခွင့်ပြုပါတယ်။ သို့သော်ဤ module ၏အားနည်းချက်တစ်ခုမှာ၎င်းသည်အမြန်နှုန်းကို ပိုမို၍ ပြောင်းလွယ်ပြင်လွယ်စေသည်။
Website ကို BeautifulSoup ဖြင့်ဖယ်ရှားရန်သင်ဘာလိုအပ်ပါသလဲ။
BeautifulSoup နှင့်စတင်အလုပ်လုပ်ရန်သင်၏စက်တွင် Python ပရိုဂရမ်းမင်းပတ် ၀ န်းကျင် (local သို့မဟုတ် server-based) ထားရန်လိုအပ်သည်။ Python ကို OS X တွင်များသောအားဖြင့်ကြိုတင်ထည့်သွင်းထားသည်။ သို့သော် အကယ်၍ သင်သည် Windows ကိုအသုံးပြုသည်ဆိုလျှင်၊ တရားဝင်ဝက်ဘ်ဆိုက်မှဘာသာစကားကူးယူရန်နှင့်တပ်ဆင်ရန်လိုအပ်သည်။

သင့်တွင် BeautifulSoup နှင့် Requests module များတပ်ဆင်ထားသင့်သည်။
နောက်ဆုံးအနေနဲ့ HTML tagging နဲ့ structure ကိုအကျွမ်းတ ၀ င်ရှိပြီးအဆင်ပြေမယ်ဆိုရင် web-based data နဲ့အတူအလုပ်လုပ်မယ်ဆိုရင်သေချာပေါက်အသုံးဝင်ပါတယ်။
တောင်းဆိုမှုများနှင့် BeautifulSoup စာကြည့်တိုက်များတင်သွင်း
Python ပရိုဂရမ်းမင်းပတ် ၀ န်းကျင်ကိုကောင်းစွာ set up လုပ်ပြီးပါကသင်ကြိုက်နှစ်သက်သောမည်သည့်ဖိုင်မဆို (ဥပမာ nano ကို သုံး၍) ဖိုင်အသစ်ကိုသင်ဖန်တီးနိုင်သည်။
တောင်းခံစာကြည့်တိုက်သည်သင်၏ Python ပရိုဂရမ်များအတွင်း၌လူသားဖတ်နိုင်သည့်ပုံစံ HTTP ကိုသုံးနိုင်သည်။ BeautifulSoup သည်ပိုမိုမြန်ဆန်သောဖျက်သိမ်းခြင်းကိုခံရသည်။ စာကြည့်တိုက်နှစ်ခုလုံးကိုရရန်သင်တင်သွင်းမှုကြေညာချက်ကိုသုံးနိုင်သည်။
၀ က်ဘ်စာမျက်နှာတစ်ခုကိုဘယ်လိုစုဆောင်း၊
သင်ဒေတာထုတ်ယူလိုသောဝက်ဘ်စာမျက်နှာ၏ URL ကိုစုဆောင်းရန် requests.get () နည်းလမ်းကိုအသုံးပြုပါ။ ထို့နောက် BeautifulSoup အရာဝတ္ထု (သို့) parse tree ကိုဖန်တီးပါ။ ဤသည်အရာဝတ္ထု Requests ကနေစာရွက်စာတမ်းကို၎င်း၏အငြင်းပွားမှုများအဖြစ်ယူပြီးတော့သူကခွဲခြမ်းစိတ်ဖြာ။ စာမျက်နှာကိုစုဆောင်း၊ ခွဲခြမ်းစိတ်ဖြာ။ BeautifulSoup အရာဝတ္ထုတစ်ခုအဖြစ်သတ်မှတ်ပြီးလျှင်သင်လိုအပ်သောအချက်အလက်များကိုစုဆောင်းနိုင်သည်။
ခွဲထားသောဝက်ဘ်စာမျက်နှာမှသင်လိုချင်သောစာသားကိုထုတ်ယူပါ
၀ က်ဘ်ဒေတာများကိုသင်စုဆောင်းလိုပါက ၀ က်ဘ်စာမျက်နှာ၏ Document Object Model (DOM) မှမည်သို့ဖော်ပြသည်ကိုသင်သိရန်လိုအပ်သည်။ သင်၏ဝဘ်ဘရောက်ဇာတွင်၊ (Windows ကိုအသုံးပြုလျှင်) ညာဘက်ကလစ်နှိပ်ပါ (သို့) စိတ် ၀ င်စားဖွယ်အချက်အလက်၏အစိတ်အပိုင်းတစ်ခုဖြစ်သည့်အရာများထဲမှတစ်ခုပေါ်တွင် CTRL + (macOS ကိုအသုံးပြုလျှင်) ကိုကလစ်နှိပ်ပါ။ ဥပမာအားဖြင့်၊ သင်သည်ကျောင်းသားများ၏လူမျိုးစုများနှင့်ပတ်သက်သောအချက်အလက်များကိုထုတ်ယူလိုပါကကျောင်းသားတစ် ဦး ၏အမည်တစ်ချက်ကိုနှိပ်ပါ။ ဆက်စပ်မီနူးတစ်ခုပေါ်လာပြီးထိုအရာအတွင်း၌ Inspect Element (Firefox အတွက်) သို့မဟုတ် Inspect (Chrome အတွက်) နှင့်ဆင်တူသည့် menu ကိုတွေ့လိမ့်မည်။ သက်ဆိုင်ရာ Inspect menu ကိုကလစ်နှိပ်ပါ, ထိုအခါဝဘ် developer tools များသင်၏ browser ထဲမှာပေါ်လာပါလိမ့်မယ်။
BeautifulSoup သည်ရိုးရှင်းသော်လည်းအစွမ်းထက်သော HTML ခွဲခြမ်းစိတ်ဖြာခြင်းကိရိယာတစ်ခုဖြစ်ပြီး ဝက်ဘ်ဆိုက်များကိုဖျက် ပစ်သည့်အခါသင့်အားပြောင်းလွယ်ပြင်လွယ်ရှိစေသည်။ ၎င်းကိုအသုံးပြုသောအခါဝက်ဘ်ဆိုက်၏စည်းကမ်းချက်များကိုစစ်ဆေးခြင်းကဲ့သို့သောခြစ်ခြစ်ခြင်းဆိုင်ရာစည်းကမ်းများကိုလိုက်နာရန်မမေ့ပါနှင့်။ site ကိုပုံမှန်ပြန်လည်လည်ပတ်ခြင်းနှင့် site ပေါ်တွင်ပြောင်းလဲမှုများနှင့်အညီသင့်ရဲ့ code ကို update ။ Python နှင့် BeautifulSoup ဖြင့်ဝက်ဘ်ဆိုက်များကိုဖျက်ခြင်းနှင့်ပတ်သက်သောဤဗဟုသုတရှိပါကသင်၏စီမံကိန်းအတွက်သင်လိုအပ်သောဝဘ်ဒေတာကိုလွယ်လွယ်ကူကူရနိုင်သည်။