Semalt: 3 ขั้นตอนในการขูด PHP เว็บเพจ

การขูดเว็บเรียกอีกอย่างว่าการดึงข้อมูลเว็บหรือการเก็บเกี่ยวเว็บเป็นกระบวนการดึงข้อมูลจากเว็บไซต์หรือบล็อก ข้อมูลนี้จะถูกใช้เพื่อตั้งค่าเมตาแท็กคำอธิบายเมตาคำหลักและลิงก์ไปยังเว็บไซต์ปรับปรุงประสิทธิภาพโดยรวมในผลลัพธ์ของเครื่องมือค้นหา

สองเทคนิคหลักที่ใช้ในการขูดข้อมูล:

  • การแยกวิเคราะห์เอกสาร - มันเกี่ยวข้องกับเอกสาร XML หรือ HTML ที่ถูกแปลงเป็นไฟล์ DOM (Document Object Model) PHP ช่วยให้เรามีส่วนขยาย DOM ที่ยอดเยี่ยม
  • นิพจน์ทั่วไป - เป็นวิธีการคัดลอกข้อมูลจากเอกสารทางเว็บในรูปแบบของนิพจน์ทั่วไป

ปัญหาเกี่ยวกับข้อมูลการขูดของเว็บไซต์บุคคลที่สามเกี่ยวข้องกับลิขสิทธิ์เนื่องจากคุณไม่ได้รับอนุญาตให้ใช้ข้อมูลนี้ แต่ด้วย PHP คุณสามารถขูดข้อมูลได้อย่างง่ายดายโดยไม่มีปัญหาเกี่ยวกับลิขสิทธิ์หรือคุณภาพต่ำ ในฐานะโปรแกรมเมอร์ PHP คุณอาจต้องการข้อมูลจากเว็บไซต์ต่าง ๆ เพื่อจุดประสงค์ในการเขียนโค้ด ที่นี่เราได้อธิบายวิธีการรับข้อมูลจากเว็บไซต์อื่นอย่างมีประสิทธิภาพ แต่ก่อนหน้านั้นคุณควรจำไว้ว่าในตอนท้ายคุณจะได้รับไฟล์ index.php หรือ scrape.js

ขั้นตอนที่ 1: สร้างแบบฟอร์มเพื่อป้อน URL เว็บไซต์:

ก่อนอื่นคุณควรสร้างแบบฟอร์มใน index.php โดยคลิกที่ปุ่มส่งและป้อน URL เว็บไซต์สำหรับการคัดลอกข้อมูล

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

ป้อน URL เว็บไซต์เพื่อขูดข้อมูล

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

<input type = "submit" name = "submit" value = "Submit">

</ form>

ขั้นตอนที่ 2: สร้างฟังก์ชัน PHP เพื่อรับข้อมูลเว็บไซต์:

ขั้นตอนที่สองคือการสร้างฟังก์ชั่น PHP scrapes ในไฟล์ scrape.php ซึ่งจะช่วยให้ได้รับข้อมูลและใช้ไลบรารี URL นอกจากนี้ยังช่วยให้คุณสามารถเชื่อมต่อและสื่อสารกับเซิร์ฟเวอร์และโปรโตคอลที่แตกต่างกันโดยไม่มีปัญหาใด ๆ

ฟังก์ชั่น scrapeSiteData ($ website_url) {

if (! function_exists ('curl_init')) {

ตาย (ไม่ได้ติดตั้ง 'cURL โปรดติดตั้งแล้วลองอีกครั้ง');

}

$ curl = curl_init ();

curl_setopt ($ curl, CURLOPT_URL, $ website_url);

curl_setopt ($ curl, CURLOPT_RETURNTRANSFER จริง);

$ output = curl_exec ($ curl);

curl_close ($ ขด);

ผลตอบแทน $ เอาท์พุท;

}

ที่นี่เราสามารถดูว่า PHP cURL ได้รับการติดตั้งอย่างเหมาะสมหรือไม่ ต้องใช้ cURLs หลักสามตัวในพื้นที่ฟังก์ชั่นและ curl_init () จะช่วยเริ่มต้นเซสชันได้ curl_exec () จะเรียกใช้งานและ curl_close () จะช่วยปิดการเชื่อมต่อ ตัวแปรต่างๆเช่น CURLOPT_URL นั้นใช้เพื่อตั้งค่า 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);

$ length = $ end_point- $ start_point;

$ html = substr ($ html, $ start_point, $ length);

echo $ html;

}

เราขอแนะนำให้คุณพัฒนาความรู้พื้นฐานของ PHP และนิพจน์ทั่วไปก่อนที่คุณจะใช้รหัสใด ๆ เหล่านี้หรือขูดบล็อกหรือเว็บไซต์เฉพาะเพื่อวัตถุประสงค์ส่วนตัว