လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> HTML / XML ကို PHP ဖြင့် perml / xml ကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် 0 က်ဘ်တွားသည်

HTML / XML ကို PHP ဖြင့် perml / xml ကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် 0 က်ဘ်တွားသည်

M66 2025-06-21

နိဒါန်း

Webswlers များသည်အင်တာနက်မှအချက်အလက်များကိုတွား 0 တ်ရန်အသုံးပြုသောအလိုအလျောက်ကိရိယာများဖြစ်သည်။ လူကြိုက်များသော server-side side scripting language တစ်ခုအနေဖြင့် PHP တွင်စာကြည့်တိုက်များနှင့်လုပ်ဆောင်ချက်များနှင့်လုပ်ဆောင်ချက်များရှိပြီးအချက်အလက်များကို HTML (သို့) XML format ဖြင့်ပြုလုပ်နိုင်သည်။ ဤဆောင်းပါးသည် PHP တွင် 0 က်ဘ်စာမျက်နှာရှိဝက်ဘ်ခုန်ဝါဒီကိုမည်သို့ဖန်တီးရမည်ကိုပြသရန်တိကျသောဥပမာများကိုအသုံးပြုမည်။

ဝက်ဘ်အကြောင်းအရာကိုရယူပါ

Crawlers များအတွက်ပထမခြေလှမ်းအနေဖြင့်ကျွန်ုပ်တို့သည်ဆင်းသက်စာမျက်နှာ၏ပါဝင်မှုကိုရရှိရန်လိုအပ်သည်။ PHP တွင်ကျွန်ုပ်တို့သည်၎င်းကိုအလွယ်တကူအောင်မြင်ရန် `curl` function ကိုသုံးနိုင်သည်။ ဤတွင်ဝက်ဘ်ဆိုက်ပါဝင်သည့်အတွက်နမူနာကုဒ်ဖြစ်သည်။

 
$url = "http://example.com"; // ဦး တည်ရာ URL ကိုသတ်မှတ်ပါ
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); // Crawl URL ကို set up
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // ရရှိသောအကြောင်းအရာများကို string တစ်ခုအဖြစ်ပြန်လာလိမ့်မည်
$output = curl_exec($ch); // ကရိယာတန်းဆာcurlsession ကိုနှင့်ပြန်လာသောအကြောင်းအရာကိုသိမ်းဆည်းပါ
curl_close($ch);
echo $output; // crawled ဝက်ဘ်စာမျက်နှာကိုထုတ်ပေးပါ

ဤကုဒ်တွင်ရရှိသောဝက်ဘ်စာမျက်နှာများကို `curlopt_Returnturtransferfer သို့ setting ဖြင့် string တစ်ခုအဖြစ်သိမ်းဆည်းသည်။ ထို့နောက် curl_exec` ကိုအသုံးပြုပါ။

html အကြောင်းအရာခွဲခြမ်းစိတ်ဖြာ

ဝဘ်စာမျက်နှာ၏အကြောင်းအရာများကိုရရှိပြီးနောက်နောက်တစ်ဆင့်မှာကျွန်ုပ်တို့လိုအပ်သောအချက်အလက်များကိုဖြည့်ဆည်းရန် HTML ကိုခွဲခြမ်းစိတ်ဖြာရန်ဖြစ်သည်။ PHP တွင် HTML ကိုကူညီနိုင်သည့်စာကြည့်တိုက်များစွာရှိပြီးအသုံးအများဆုံးစာကြည့်တိုက်များထဲမှတစ်ခုမှာရိုးရှင်းသော HTML dom ဖြစ်သည်။ ဤတွင်ရိုးရှင်းသော HTML dom ကိုသုံးပြီး HTML ကို paringing ၏ဥပမာတစ်ခုဖြစ်သည်။

 
include('simple_html_dom.php'); // မိတ်ဆက်ခဲ့သည်Simple HTML DOMစာကြည့်တိုက်
$html = str_get_html($output); // ဝက်ဘ်စာမျက်နှာကိုဖွင့်ပါSimple HTML DOMအရာဝတ်ထု၌တည်၏
<p>// လင့်များနှင့် output အားလုံးကိုရှာပါ<br>
foreach($html->find('a') as $element) {<br>
echo $element->href . "<br>";<br>
}</p>
<p>$html->clear(); // အရာဝတ်ထုများကသိမ်းပိုက်ထားသောမှတ်ဉာဏ်ကိုသန့်ရှင်းရေး<br>

ဤကုဒ်သည်ရိုးရှင်းသော HTML dom စာကြည့်တိုက်ကို `inclub`. ထည့်သွင်းထားသော 0 က်ဘ်စာမျက်နှာအားရိုးရိုး HTML dom object ထဲသို့ 0 င်ရောက်ခြင်းကိုတင်ထားသည်။ နောက်တစ်ခုက links အားလုံးကိုရှာတွေ့ဖို့ `find` method နဲ့ css selector ကိုသုံးပြီးနောက်ဆုံးတော့` foreach loop မှတဆင့် link တစ်ခုစီ၏ `href`` href` `` href` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `link တစ်ခုစီ၏ပိုင်ဆိုင်မှုကို

Parse XML အကြောင်းအရာ

HTML အပြင် PHP သည် XML အကြောင်းအရာများကိုအလွယ်တကူခွဲခြမ်းစိတ်ဖြာနိုင်သည်။ PHP သည် XML ဒေတာများကိုဆန်းစစ်ရန်ရိုးရှင်းသောနှင့်အသုံးပြုရလွယ်ကူသောစာကြည့်တိုက် - Simplexml ကိုထောက်ပံ့ပေးသည်။ Simplexml ကိုအသုံးပြုပြီး xml အတွက် parml အတွက်နမူနာကုဒ်တစ်ခု -

 
$xml = simplexml_load_string($output); // သေတမ်းစာXMLstring ကိုတင်SimpleXMLအရာဝတ်ထု၌တည်၏
<p>// မြုပ်XMLနှင့်တိကျတဲ့လယ်ကွင်း၏ contents output ကို<br>
foreach($xml->book as $book) {<br>
echo "Title: " . $book->title . "<br>";<br>
echo "Author: " . $book->author . "<br>";<br>
echo "Year: " . $book->year . "<br><br>";<br>
}<br>

ဤကုဒ်တွင်ပါ 0 င်သော XML string ကို `scemsxml_load_string`string 'function မှတဆင့် Simplexml အရာဝတ်ထုတစ်ခုထဲသို့တင်လိုက်ပါ။ ထို့နောက် `foreach loop and Object Properties မှ XML အကြောင်းအရာများမှတစ်ဆင့် XML အကြောင်းအရာများမှတစ်ဆင့်ခေါင်းစဉ်,

နိဂုံးချုပ်အားဖြင့်

PHP ၏ `curl` function ကိုအသုံးပြုခြင်းနှင့်ရိုးရှင်းသော HTML dom dom နှင့် scemsxml ကဲ့သို့သော parsing စာကြည့်တိုက်အမျိုးမျိုးကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့၏ကိုယ်ပိုင်ဝက်ဘ်တွားလိုချင်သူများကို 0 က်ဘ်စာမျက်နှာများသို့မဟုတ် XML ဒေတာများမှထုတ်ယူရန်အလွယ်တကူဖန်တီးနိုင်သည်။ ၎င်းသည်အမျိုးမျိုးသောဒေတာအသုံးချပရိုဂရမ်များဖွံ့ဖြိုးတိုးတက်ရေးအတွက်ခိုင်မာသောထောက်ခံမှုပေးသည်။ ဤသင်ခန်းစာမှတစ်ဆင့်သင်သည်အခြေခံ PHP Crawler ဖွံ့ဖြိုးရေးကျွမ်းကျင်မှုများကိုကျွမ်းကျင်စွာပြုလုပ်နိုင်ပြီးပိုမိုရှုပ်ထွေးသော data trawling လုပ်ငန်းများကိုတိုးချဲ့နိုင်သည်။