Semalt. PHP- ի վեբ էջերի գրանցման 3 քայլ

Վեբ գրությունը, որը կոչվում է նաև վեբ տվյալների արդյունահանում կամ վեբ հավաքում, վեբ կայքից կամ բլոգից տվյալների արդյունահանման գործընթաց է: Այս տեղեկատվությունն այնուհետև օգտագործվում է կայքի համար մետատրոհներ, մետա նկարագրություններ, հիմնաբառեր և հղումներ տեղադրելու համար ՝ բարելավելով դրա ընդհանուր կատարողականը որոնման արդյունքների մեջ:

Տվյալները քերծելու համար օգտագործվում են երկու հիմնական տեխնիկա.

  • Փաստաթղթի վերլուծություն - Այն ներառում է XML կամ HTML փաստաթուղթ, որը փոխարկվում է DOM (Document Object Model) ֆայլերի: PHP- ն մեզ տրամադրում է DOM- ի հիանալի ընդլայնում:
  • Սովորական արտահայտություններ. Դա վեբ փաստաթղթերից տվյալները գրելու ձև է `սովորական արտահայտությունների տեսքով:

Երրորդ կողմի կայքէջի գրության տվյալների հետ կապված խնդիրը կապված է նրա հեղինակային իրավունքի հետ, քանի որ դուք չունեք այս տվյալների օգտագործման թույլտվություն: Բայց PHP- ի օգնությամբ դուք կարող եք հեշտությամբ ջնջել տվյալները ՝ առանց հեղինակային իրավունքի կամ ցածր որակի հետ կապված խնդիրների: Որպես PHP ծրագրավորող, ձեզ կարող են անհրաժեշտ լինել տարբեր կայքերի տվյալներ ՝ կոդավորման նպատակով: Այստեղ մենք բացատրել ենք, թե ինչպես կարելի է այլ կայքերից արդյունավետ տեղեկատվություն ստանալ, բայց մինչ այդ պետք է հիշել, որ վերջում դուք կստանաք կամ index.php կամ scrape.js ֆայլեր:

Քայլ 1. Ստեղծեք ձև ՝ կայքի URL մուտքագրելու համար.

Առաջին հերթին, դուք պետք է ձև ստեղծեք index.php- ում `սեղմելով Ներկայացնել կոճակը և մուտքագրեք կայքի URL- ը` տվյալները ջարդելու համար:

<form metod = "post" name = "scrape_form" id = "scrap_form" acti>

Մուտքագրեք վեբ կայքի URL ՝ տվյալները քերծելու համար

<input type = "input" name = "website_url" id = "website_url">

<input type = "ներկայացնել" name = "ներկայացնել" արժեք = "Ներկայացնել">

</form>

Քայլեր 2. Ստեղծեք PHP գործառույթ ՝ կայքի տվյալները ստանալու համար.

Երկրորդ քայլը `scrP.php ֆայլում PHP ֆունկցիայի գրություններ ստեղծելն է, քանի որ այն կօգնի ձեռք բերել տվյալներ և օգտագործել URL գրադարանը: Այն նաև հնարավորություն կտա կապել և հաղորդակցվել տարբեր սերվերների և արձանագրությունների հետ ՝ առանց որևէ խնդրի:

գործառույթը scrapeSiteData ($ website_url) {

եթե (! function_exists ('curl_init')) {

մեռնել ('cURL- ը տեղադրված չէ: Խնդրում ենք տեղադրել և փորձել կրկին');

}

$ curl = curl_init ();

curl_setopt ($ curl, CURLOPT_URL, $ website_url);

curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, true);

$ ելք = curl_exec ($ curl);

curl_close ($ curl);

վերադարձնել $ ելքը;

}

Այստեղ մենք կարող ենք տեսնել, որ PHP- ի cURL- ը պատշաճ կերպով տեղադրվել է, թե ոչ: Գործառույթների տարածքում պետք է օգտագործվեն երեք հիմնական cURL- ներ, և curl_init- ը () կօգնի նախանշել նիստերը, curl_exec- ը () կկատարի այն, իսկ curl_close- ը () կօգնի փակել կապը: CURLOPT_URL, ինչպիսիք են փոփոխականները, օգտագործվում են կայքի URL- ները տեղադրելու համար, որոնք մենք պետք է գրենք: Երկրորդ CURLOPT_RETURNTRANSFER- ը կօգնի պահպանել քերծված էջերը փոփոխական տեսքով, այլ ոչ թե դրա լռելյայն ձևով, ինչը, ի վերջո, կցուցադրի ամբողջ վեբ էջը:

Քայլեր 3. Ոլորել հատուկ տվյալներ կայքից.

Ժամանակն է կարգավորել ձեր PHP ֆայլի գործառույթները և քերծել ձեր վեբ էջի հատուկ հատվածը: Եթե դուք չեք ցանկանում, որ բոլոր տվյալները հատուկ URL- ից, ապա պետք է խմբագրեք CURLOPT_RETURNTRANSFER փոփոխականները և նշեք այն հատվածները, որոնք ցանկանում եք քսել:

եթե (թողարկեք ($ _ POST ['ներկայացնել'])) {

$ html = scrapeWebsiteData ($ _ POST ['website_url']);

$ start_point = strpos ($ html, 'Վերջին գրառումներ');

$ end_point = strpos ($ html, '', $ start_point);

$ երկարություն = $ end_point- $ start_point;

$ html = substr ($ html, $ start_point, $ երկարություն);

echo $ html;

}

Մենք առաջարկում ենք ձեզ նախապես մշակել PHP- ի և Սովորական արտահայտությունների հիմնական գիտելիքները, նախքան այս կոդերից որևէ մեկը օգտագործելը կամ որոշակի բլոգը կամ կայքը գրեք անձնական նպատակներով: