အင်တာနက်အချက်အလက်များလျင်မြန်စွာကြီးထွားလာသည့်အချိန်တွင်, ပစ်မှတ်ဝက်ဘ်ဆိုက်များ၏အချက်အလက်များကိုထိရောက်စွာတွားသွားနိုင်သည့်အချိန်တွင် developer များအနေဖြင့်အချက်အလက်များကိုမည်သို့ထိရောက်စွာတွားသွားနိုင်မည်နည်း။ ဤဆောင်းပါးသည် PHP ဘာသာစကားနှင့် open source tool phpsplay ကို အသုံးပြု. PHPLEPERPERS ကို အသုံးပြု. အလိုအလျှောက်အချက်အလက်များကိုအလိုအလျောက်စုဆောင်းရန်အတွက်ထိရောက်သော batch crawler system ကိုတည်ဆောက်ရန်သင်အသေးစိတ်မိတ်ဆက်ပေးလိမ့်မည်။
Phpspider သည် PHP အပေါ် အခြေခံ. ပေါ့ပါးသောတွားမြင်သူမူဘောင်ဖြစ်သည်။ ၎င်းသည်အကြောင်းအရာပေါင်းစုံသောတစ်ကမ္ဘာလုံးကိုထောက်ပံ့ပေးပြီးစာမျက်နှာ၏အကြောင်းအရာဖွဲ့စည်းပုံကိုအလိုအလျောက်အသိအမှတ်ပြုပြီး URL စီမံခန့်ခွဲမှုနှင့်ဒေတာထုတ်ယူခြင်းကဲ့သို့သောလုပ်ဆောင်မှုများကိုပြုလုပ်သည်။ ၎င်းသည်ပြောင်းလွယ်ပြင်လွယ်ထိန်းချုပ်ရန်နှင့်စိတ်ကြိုက်ယုတ္တိဗေဒလိုအပ်နေသော PHP developer များအတွက်အကောင်းဆုံးရွေးချယ်မှုဖြစ်သည်။
သင်စတင်မီ, PHP နှင့် composer ကိုဒေသအလိုက်တပ်ဆင်ထားကြောင်းသေချာပါစေ။ ထို့နောက် phpspider ကိုအောက်ပါ command မှတဆင့် install လုပ်ပါ။
composer require duskowl/php-spider
installation ပြီးဆုံးပြီးနောက်, ကန ဦး script ကိုထုတ်လုပ်ရန် Tool မှပေးသော command များကိုသုံးနိုင်သည်။
vendor/bin/spider create mySpider
အထက်ပါ command ကိုကွပ်မျက်ပြီးနောက် MySpider.php ဖိုင်ကိုလက်ရှိလမ်းညွှန်တွင်ထုတ်ပေးလိမ့်မည်။ နောက်တစ်ခုကဒီဖိုင်ထဲမှာတွားလှတဲ့ယုတ္တိဗေဒကိုရေးမယ်။
MySpider.php ဖိုင်ကိုဖွင့်ပါ။ __Construct __Construct __Construct () ကိုတည်းဖြတ်ပါ, URL နှင့်ပစ်မှတ်များနှင့်ပစ်မှတ်များကိုပြင်ဆင်ပါ။
public function __construct()
{
$this->startUrls = [
'http://example.com/page1',
'http://example.com/page2',
'http://example.com/page3',
];
$this->setField('title', 'xpath', '//h1');
$this->setField('content', 'xpath', '//div[@class="content"]');
}
startuls သည် ကန ဦး စာမျက်နှာစာရင်းဖြစ်သည်, Setfield သည် Page Fields ကိုထုတ်ယူရန်နှင့် XPath သို့မဟုတ်ပုံမှန် positioning ကိုထောက်ပံ့ရန်အသုံးပြုသည်။
ဒေတာခြစ်ခြင်းပြီးနောက်လုပ်ဆောင်ခြင်းယုတ္တိဗေဒကို လက်ကိုင် () နည်းလမ်းသို့ရေးသားရန်လိုအပ်သည်။ ဒေတာများသည် terminal, ဒေတာဘေ့စ်သို့မဟုတ်အခြားသိုလှောင်မှုမီဒီယာကိုထုတ်ပေးနိုင်သည်။
public function handle($spider, $page)
{
$data = $page['data'];
$url = $page['request']['url'];
echo "URL: $url\n";
echo "Title: " . $data['title'] . "\n";
echo "Content: " . $data['content'] . "\n";
}
ယုတ္တိဗေဒပြီးဆုံးသည်နှင့်တပြိုင်နက် script ကိုအောက်ပါ command ဖြင့် run ပြီးတွားသွားနိုင်သည်။
vendor/bin/spider run mySpider
ပရိုဂရမ်သည် configure URL ကိုအလိုအလျောက်ဖြတ်သန်းသွားမည်, ဒေတာများကိုစုဆောင်းပြီး output ကိုထုတ်လုပ်မည်။
စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်သို့မဟုတ်အချိန်ကာလ၏လိုအပ်ချက်များကိုဖြည့်ဆည်းရန် Phpspider သည်ပြောင်းလွယ်ပြင်လွယ်ပြင်ဆင်မှုများကိုထောက်ပံ့ပေးသည်။
function __construct()
{
$this->concurrency = 5; // မှအများဆုံးတစ်ပြိုင်နက်တည်းနံပါတ်ကိုသတ်မှတ်ပါ5
}
တစ်ပြိုင်နက်တည်းကိန်းဂဏန်းနံပါတ်သည်ဒေတာများလောင်ကျွမ်းခြင်းကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။ ဆာဗာစွမ်းဆောင်ရည်အရကျိုးကြောင်းဆီလျော်စွာညှိရန်အကြံပြုသည်။
public function startRequest()
{
$this->addRequest("http://example.com/page1");
$this->addRequest("http://example.com/page2");
$this->addRequest("http://example.com/page3");
}
System Timing Tasks (cron) နှင့်ပေါင်းစပ်ခြင်း,
chmod +x mySpider.php
./mySpider.php
PhPSPIDER မူဘောင်၏အကူအညီဖြင့်ကျွန်ုပ်တို့သည်အင်အားကြီးမားပြီးတည်ငြိမ်သော PHP တွားမြင်ကွင်းကိုလျင်မြန်စွာတည်ဆောက်နိုင်သည်။ ကျိုးကြောင်းဆီလျော်သော URLs များ, အကာအကွယ်များ, တစ်ပြိုင်နက်တည်းနှင့်အချိန်ကာလလုပ်ငန်းများယန္တရားများအားဖြင့်အလိုအလျောက်အများကိန်းများစုဆောင်းခြင်းသည်အချက်အလက်ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်အကြောင်းအရာတူးဖော်ခြင်းအတွက်ခိုင်မာသောထောက်ခံမှုပေးနိုင်သည်။
ဤဆောင်းပါးတွင်ပါ 0 င်သောလက်တွေ့ကျသောကျွမ်းကျင်မှုများသည် Php Crawler ဖွံ့ဖြိုးတိုးတက်မှု၏အဓိကအချက်များကိုမြန်မြန်ကျွမ်းကျင်စွာကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။