Semalt: PHP веб-парағын скраптауға 3 қадам

Веб-қыстырма, сонымен қатар веб-деректерді шығару немесе веб-жинау деп аталады, бұл веб-сайттан немесе блогтан мәліметтерді алу процесі. Бұл ақпарат мета тегтерін, мета сипаттамаларын, кілт сөздерді және сайтқа сілтемелерді орнату үшін, іздеу жүйесінің нәтижелерінде оның жалпы жұмысын жақсарту үшін қолданылады.

Мәліметтерді жырту үшін екі негізгі әдіс қолданылады:

  • Құжатты талдау - оған DOM (Document Object Model) файлдарына түрлендірілген XML немесе HTML құжаты кіреді. PHP бізге DOM кеңейтімін ұсынады.
  • Тұрақты тіркестер - бұл тұрақты өрнектер түрінде веб-құжаттардан мәліметтерді алып тастау әдісі.

Үшінші тарап веб-сайтының деректерін қию мәселесі оның авторлық құқығына байланысты, өйткені сізде бұл деректерді пайдалануға рұқсатыңыз жоқ. Бірақ PHP көмегімен деректерді авторлық құқықтармен немесе сапасыз проблемаларсыз оңай жоюға болады. PHP бағдарламашысы ретінде кодтау мақсатында сізге әртүрлі веб-сайттардан мәліметтер қажет болуы мүмкін. Мұнда біз басқа сайттардан деректерді қалай тиімді алуға болатынын түсіндірдік, бірақ бұған дейін сіз index.php немесе scrape.js файлдарын алатындығын есте ұстауыңыз керек.

1-қадам: Веб-сайттың URL мекенжайын енгізу үшін пішінді жасаңыз:

Біріншіден, сіз index.php пішінін «Жіберу» батырмасын басу арқылы құрып, веб-сайтқа деректерді қию үшін URL мекенжайын енгізуіңіз керек.

<form metod = «post» name = «scrape_form» id = «scrap_form» acti>

Scrape Data үшін веб-сайттың URL мекенжайын енгізіңіз

<input type = «input» name = «website_url» id = «website_url»>

<енгізу түрі = «жіберу» атауы = «жіберу» мәні = «жіберу»>

</form>

2-қадам: Веб-сайт деректерін алу үшін PHP функциясын жасаңыз:

Екінші қадам - scrape.php файлында PHP функциясының сызықтарын құру, өйткені бұл мәліметтер алуға және URL-кітапханасын пайдалануға көмектеседі. Сондай-ақ, бұл сізге кез-келген мәселені шешпей-ақ түрлі серверлер мен протоколдармен байланысуға және байланыс орнатуға мүмкіндік береді.

scrapeSiteData функциясы ($ website_url) {

егер (! function_exists ('curl_init')) {

die ('cURL орнатылмаған. Орнатып, әрекетті қайталаңыз.');

}

$ curl = curl_init ();

curl_setopt ($ curl, CURLOPT_URL, $ website_url);

curl_setopt ($ бұралу, CURLOPT_RETURNTRANSFER, шын);

$ output = curl_exec ($ curl);

curl_close ($ curl);

$ шығысын қайтару;

}

Мұнда біз PHP cURL дұрыс орнатылғанын немесе орнатылмағанын көре аламыз. Функциялар аймағында үш негізгі CURL қолданылуы керек және curl_init () сеанстарды бастауға көмектеседі, curl_exec () оны орындайды және curl_close () қосылымды жабуға көмектеседі. CURLOPT_URL сияқты айнымалылар веб-сайтты жою үшін қажет. Екінші CURLOPT_RETURNTRANSFER, кесілген беттерді әдепкі пішінінен гөрі, ауыспалы пішінде сақтауға көмектеседі, ол бүкіл веб-бетті көрсетеді.

3-қадам: Веб-сайттағы арнайы деректерді скраптау:

Сіздің PHP файлыңыздың функцияларын өңдеудің және веб-парағыңыздың белгілі бір бөлігін жоюдың уақыты келді. Егер сіз белгілі бір URL мекен-жайынан барлық деректерді қаламасаңыз, CURLOPT_RETURNTRANSFER айнымалы мәндерін қолданып, қырқып тастағыңыз келетін бөлімдерді бөлектеуіңіз керек.

егер (isset ($ _ POST ['жіберу']))) {

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

$ start_point = strpos ($ html, 'Соңғы хабарламалар');

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

$ ұзындығы = $ end_point- $ start_point;

$ html = субстр ($ html, $ start_point, $ ұзындығы);

echo $ html;

}

Сізге осы кодтардың кез-келгенін қолданбас бұрын немесе белгілі бір блогты немесе веб-сайтты жеке мақсаттарыңыз үшін қырып тастамас бұрын PHP және тұрақты тіркестер туралы негізгі білімді игеруді ұсынамыз.