วิธีแยกข้อมูลเมตาของเว็บไซต์โดยใช้ admintrick.com Meta Scraping API

โดยทั่วไป การขูดเว็บเป็นการดึงข้อมูลจากเว็บไซต์จาก HTML ที่สร้างขึ้นเมื่อโหลดหน้าเว็บ

Metascraping กำลังแยกข้อมูลเมตาของหน้าเว็บออกจากเมตาแท็กของหน้าเว็บ

ข้อมูลเมตาของหน้าเว็บคือข้อมูลเกี่ยวกับหน้าเว็บ แต่ไม่ใช่เนื้อหาของหน้าเว็บ ตัวอย่างเช่น ข้อมูลเมตาอาจรวมถึงชื่อผู้เขียน ชื่อเรื่อง และคำอธิบายของหน้าเว็บ

ช่วยให้ผู้ใช้และเครื่องมือค้นหาเข้าใจว่าหน้านี้เกี่ยวกับอะไร การขูดข้อมูลเมตาช่วยให้ผู้ใช้รวบรวมข้อมูลเกี่ยวกับหน้าเว็บได้อย่างรวดเร็วโดยใช้เวลาน้อยลง

สามารถใช้หลายวิธีในการคัดลอกหน้าเว็บสำหรับข้อมูลเมตา รวมทั้งการคัดลอกด้วยตนเอง การใช้ไลบรารี หรือการใช้ API เช่น admintrick.com Metascraping API

หลายวิธีในการฆ่าแมว

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

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

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

วิธีที่สามคือการใช้ API เช่น admintrick.com Metascraping API แนวทางนี้เหมาะอย่างยิ่งเพราะให้อินเทอร์เฟซที่เหมือนกันโดยไม่คำนึงถึงภาษาโปรแกรมของคุณ สามารถใช้งานได้ในทุกภาษาตราบเท่าที่รองรับการร้องขอ HTTP

บทความนี้จะสาธิตวิธีใช้ admintrick.com Metascraping API กับ cURL, PHP และ JavaScript(NodeJS)

เนื่องจากข้อเสียของวิธีอื่นๆ ข้อดีของการใช้ admintrick.com API คือ:

  • มันเป็นภาษาและสภาพแวดล้อมรันไทม์ที่ไม่เชื่อเรื่องพระเจ้า
  • คุณหลีกเลี่ยงการประดิษฐ์วงล้อใหม่และใช้เวลาน้อยลงในการเขียนโค้ด
  • คุณสามารถขูดหลาย ๆ เว็บไซต์ได้อย่างมีประสิทธิภาพ (ในเวลาไม่กี่วินาที)
  • มันใช้งานง่ายอย่างไม่น่าเชื่อ
  • คุณสามารถใช้งานได้ฟรี

เริ่มต้นใช้งาน admintrick.com API

หากต้องการใช้ admintrick.com API คุณจะต้องมีคีย์ API ในการรับหนึ่งให้ไปที่เว็บไซต์ admintrick.com และสร้างบัญชีฟรี หลังจากสร้างบัญชีของคุณแล้ว ให้ลงชื่อเข้าใช้แดชบอร์ด จากแดชบอร์ด คุณควรจะเห็นคีย์ API ของคุณ

ตำแหน่งข้อมูล API อยู่ที่ https://api.admintrick.com.com/metascraping เมื่อคุณส่งคำขอ คุณควรระบุคีย์ API ของคุณเป็นส่วนหัวของคำขอด้วยชื่อ x-api-key และค่าที่เป็นคีย์ API ของคุณ

คุณจะต้องส่งพารามิเตอร์เพิ่มเติมในเนื้อหาคำขอด้วย เหล่านี้คือ URL อุปกรณ์ และประเทศพร็อกซี

  • URL ระบุ URL ของหน้าเว็บที่คุณต้องการคัดลอกข้อมูลเมตา
  • อุปกรณ์ระบุอุปกรณ์ที่ใช้ในการเยี่ยมชมไซต์เมื่อคัดลอกข้อมูลเมตา ตัวเลือกของคุณสำหรับอุปกรณ์คือมือถือหรือเดสก์ท็อป
  • ประเทศผู้รับมอบฉันทะระบุประเทศที่ส่งคำขอก่อนที่ข้อมูลจะถูกคัดลอก อย่างไรก็ตาม ประเทศพร็อกซีเป็นฟีเจอร์พรีเมียมและสามารถใช้ได้ภายใต้แผนชำระเงิน admintrick.com เท่านั้น

เนื่องจากพารามิเตอร์จะถูกส่งผ่านเป็นส่วนหนึ่งของเนื้อหา คำขอต้องเป็นคำขอ POST เนื่องจากคำขอ GET ไม่สามารถมีข้อมูลเมตาได้

ในการสาธิตครั้งแรก เราจะใช้ยูทิลิตี้ cURL จากบรรทัดคำสั่งเพื่อขอ Metascraping API หากต้องการใช้ cURL คุณจะต้องติดตั้งก่อน

ฉันจะใช้ Bash terminal นี่ควรเป็นเทอร์มินัลเริ่มต้นบน macOS และ Linux สำหรับ Windows คุณจะต้องติดตั้ง Git Bash

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

curl -X POST 
https://api.admintrick.com.com/metascraping  
-d '{ "url": "https://tesla.com" }' 
-H 'Content-Type: application/json' 
-H 'x-api-key: <API_KEY>'

หมายเหตุ: เครื่องหมายแบ็กสแลชหลังสามบรรทัดแรกทำให้คุณสามารถแยกอินพุตคำสั่งออกเป็นหลายบรรทัดได้

  วิธีค้นหาทวีตแรกของคุณ

คำสั่งนี้ระบุเมธอด HTTP เป็น POST และจุดสิ้นสุดเป็นตำแหน่งปลายทาง admintrick.com API meta-scraping

นอกจากนี้ เรายังส่งเนื้อหาคำขอเป็นวัตถุ JSON โดยระบุคุณสมบัติ URL เป็น https://tesla.com สุดท้าย เราได้เพิ่มส่วนหัวที่ระบุประเภทเนื้อหาเนื้อหาเป็น JSON และให้คีย์ API โดยใช้ส่วนหัว x-api-key

เมื่อเราเรียกใช้คำสั่งนี้ เราจะได้ผลลัพธ์ดังต่อไปนี้:

{"timestamp":1669328564856,"apiStatus":"success","apiCode":200,"meta":{"url":"https://tesla.com","device":"desktop","test":{"id":"1fh2c30i05vmvxb99pdh6t6hze2x72jv"}},"data":{"author":null,"date":null,"description":"Tesla is accelerating the world’s transition to sustainable energy with electric cars, solar and integrated renewable energy solutions for homes and businesses.","image":"https://tesla-cdn.thron.com/delivery/public/image/tesla/6139697c-9d6a-4579-837e-a9fc5df4a773/bvlatuR/std/1200x628/Model-3-Homepage-Social-LHD","logo":"https://tesla.com/themes/custom/tesla_frontend/assets/favicons/favicon-196x196.png","publisher":"Tesla","title":"Electric Cars, Solar & Clean Energy | Tesla","url":"https://www.tesla.com/","lang":"en"}}

นั่นคือผลลัพธ์ที่ถูกต้อง

สำหรับโครงการนี้ เราจะสร้างสคริปต์ NodeJS เพื่อดึงข้อมูลจาก API ซึ่งหมายความว่าคุณจะต้องติดตั้ง NodeJS คุณจะต้องมี NPM หรือตัวจัดการแพ็คเกจอื่นๆ สำหรับโหนดเพื่อจัดการการพึ่งพาของโครงการ ฉันจะใช้เทอร์มินัล Bash เพื่อเรียกใช้คำสั่งด้วย

หากต้องการใช้ API ใน JavaScript ก่อนอื่นเราต้องสร้างโฟลเดอร์โครงการเปล่าและเปิดในเทอร์มินัล

mkdir metascraping-js && cd metascraping-js

หลังจากนี้ เราสามารถสร้างไฟล์ที่เราจะเขียนสคริปต์:

touch index.js

จากนั้นเราสามารถยกตัวอย่างโครงการเป็นโครงการโหนด:

npm init -y

หากต้องการใช้ไวยากรณ์ ESModule ในไฟล์ของเรา ให้เพิ่มบรรทัด “type“ : “module” ที่รูทของไฟล์ package.json เพื่อให้มีลักษณะดังนี้:

{
  "name": "metascraping",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
}

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

npm install node-fetch

เมื่อติดตั้งแพ็คเกจถูกต้องแล้ว เราสามารถเริ่มแก้ไขสคริปต์ได้ เปิดไฟล์ index.js โดยใช้โปรแกรมแก้ไขข้อความที่คุณเลือก ในกรณีของฉัน ฉันจะใช้โปรแกรมแก้ไขข้อความนาโนที่ใช้เทอร์มินัล

nano index.js

การแก้ไขไฟล์ index.js เราเริ่มต้นด้วยการนำเข้าฟังก์ชันการดึงข้อมูล ซึ่งเป็นการส่งออกเริ่มต้นของโมดูลการดึงข้อมูลโหนด

import fetch from 'node-fetch'

จากนั้นเราจะกำหนดเนื้อหาของคำขอของเรา นี่จะเป็นสตริง JSON ที่มีคุณสมบัติ url ค่าคุณสมบัติ url คือหน้าเว็บที่เราต้องการรับข้อมูลเมตา

const body = JSON.stringify({ url: 'https://spacex.com' });

ต่อไป เราอาจกำหนดตัวเลือกคำขอที่เราจะส่งไปยังฟังก์ชันการดึงข้อมูลเมื่อเราเรียกใช้ในที่สุด

const options = {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'x-api-key': <YOUR API KEY here>
    },
    body: body
}

เราได้กำหนดวิธีการร้องขอของเราว่าเป็นคำขอ POST เรายังกำหนดสองส่วนหัว รายการหนึ่งระบุว่าเนื้อหามีข้อมูล JSON และอีกรายการระบุคีย์ API

  10 สุดยอดโปรแกรมเสริมที่ดีที่สุดสำหรับภาพยนตร์ 3 มิติบน Kodi

คุณสามารถแทนที่ <คีย์ API ของคุณ> ด้วยคีย์ API จริงของคุณ ในทางปฏิบัติ คีย์ API ไม่ควรฮาร์ดโค้ดลงในไฟล์ แต่ควรโหลดโดยใช้ตัวแปรสภาพแวดล้อม สุดท้าย เราระบุคุณสมบัติของร่างกายเป็นค่าคงที่ของร่างกายที่เรากำหนดไว้ก่อนหน้านี้

ในที่สุดเราก็โทรไปเรียก

fetch('https://api.admintrick.com.com/metascraping', options)
    .then(response => response.json())
    .then(json => console.log(json))

ที่นี่ เราได้เรียกฟังก์ชันการดึงข้อมูล โดยผ่านจุดสิ้นสุดของ API และตัวเลือกที่เรากำหนดไว้ก่อนหน้านี้ เนื่องจากการดึงข้อมูลส่งคืนคำสัญญา เราจึงแนบการเรียกกลับที่แยกวิเคราะห์การตอบกลับ JSON โดยใช้ช่วงเวลานั้น

การเรียกกลับส่งคืนคำสัญญาอื่น และเมื่อแก้ไขได้ เราจะไปที่ console.log() วัตถุที่ส่งคืน

ในที่สุดไฟล์ของเราควรมีลักษณะดังนี้

import fetch from 'node-fetch'

const body = JSON.stringify({ url: 'https://spacex.com' });

const options = {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'x-api-key': <YOUR API KEY here>
    },
    body: body
}

fetch('https://api.admintrick.com.com/metascraping', options)
    .then(response => response.json())
    .then(json => console.log(json))

หากต้องการเรียกใช้สคริปต์ ให้บันทึกการแก้ไข และปิด nano หรือโปรแกรมแก้ไขข้อความที่คุณกำลังใช้ จากนั้นป้อนคำสั่งต่อไปนี้:

node .

คุณควรได้รับข้อมูลเมตาต่อไปนี้:

{
  timestamp: 1669305079698,
  apiStatus: 'success',
  apiCode: 200,
  meta: {
    url: 'https://spacex.com',
    device: 'desktop',
    test: { id: '8m3srgqw06q2k8li5p6x70s8165d6e2f' }
  },
  data: {
    author: null,
    date: null,
    description: 'SpaceX designs, manufactures and launches advanced rockets and spacecraft.',
    image: 'https://www.spacex.com/static/images/share.jpg',
    logo: 'https://spacex.com/static/images/favicon.ico',
    publisher: 'SpaceX',
    title: 'SpaceX',
    url: 'http://www.spacex.com/',
    lang: 'en'
  }
}

การใช้ admintrick.com API กับ PHP

หากต้องการใช้ admintrick.com Metascraping API ก่อนอื่นต้องแน่ใจว่าคุณได้ติดตั้ง PHP และ Composer ไว้ในเครื่องของคุณ

ในการเริ่มต้น ให้สร้างและเปิดโฟลเดอร์โครงการ

mkdir metascraping-php && cd metascraping-php

ถัดไป ติดตั้ง GuzzleHTTP Guzzle เป็นหนึ่งในไคลเอนต์ PHP จำนวนมากที่คุณสามารถใช้กับ admintrick.com API

composer require guzzlehttp/guzzle

เมื่อติดตั้ง Guzzle แล้ว เราสามารถสร้างสคริปต์ด้วย

touch script.php

จากนั้นเราก็เริ่มเขียนโค้ดได้เลย ใช้โปรแกรมแก้ไขข้อความที่คุณเลือก เปิดไฟล์ script.php ในกรณีของฉัน ฉันจะใช้นาโนซึ่งเป็นโปรแกรมแก้ไขข้อความที่ใช้เทอร์มินัล

nano script.php

ภายในสคริปต์ เราใส่ Boiler-plate PHP

<?php
    // All code goes here
?>

ตอนนี้เพื่อโหลดส่วนขยาย ให้นำเข้าคลาสคำขอและไคลเอ็นต์จาก Guzzle ควรเขียนโค้ดนี้ระหว่าง ที่เราเขียนไว้ก่อนหน้านี้

require_once('vendor/autoload.php');

use GuzzleHttpClient;
use GuzzleHttpPsr7Request;

ต่อไป เราสามารถสร้างไคลเอ็นต์โดยสร้างอินสแตนซ์ของคลาส GuzzleHttpClient

$client = new GuzzleHttpClient();

หลังจากนั้น เราสามารถกำหนดส่วนหัวสำหรับคำขอได้ สำหรับคำขอเฉพาะนี้ เราจะจัดเตรียมส่วนหัวสองส่วน ส่วนหัวหนึ่งระบุว่าประเภทเนื้อหาของเนื้อหาคือ JSON และอีกส่วนหัวหนึ่งมีคีย์ API ของเรา

$headers = [
    'x-api-key' => <YOUR API KEY HERE>,
    'Content-Type' => 'application/json'
];

แทนที่ ด้วยคีย์ API จริงของคุณจากแดชบอร์ด admintrick.com API

  วิธีตรวจสอบการใช้ข้อมูลบน iPhone

จากนั้นเราจะสามารถกำหนดร่างกายได้ ในกรณีของเรา เนื้อหาจะเป็นสตริง JSON โดยตั้งค่า URL คุณสมบัติเป็น “https://twitter.com”

$body = json_encode([
    "url" => "https://twitter.com"
]);

ในการสร้างคำขอ เรายกตัวอย่างคลาสคำขอที่เรานำเข้าก่อนหน้านี้ โดยส่งผ่านเมธอดคำขอ จุดสิ้นสุด ส่วนหัว และเนื้อหาคำขอ

$request = new Request('POST', 'https://api.admintrick.com.com/metascraping', $headers, $body);

ต่อไปเราใช้ไคลเอ็นต์เพื่อส่งคำขอ

$response = $client->sendAsync($request)->wait();

หลังจากนั้น เราสามารถแยกเนื้อหาของคำขอและพิมพ์ไปยังคอนโซล

echo $response->getBody();

หากคุณคัดลอกโค้ดอย่างถูกต้อง ไฟล์ script.php ควรมีลักษณะดังนี้

<?php
    require_once('vendor/autoload.php');

	use GuzzleHttpClient;
	use GuzzleHttpPsr7Request;

	$client = new GuzzleHttpClient();

	$headers = [
    	'x-api-key' => <YOUR API KEY>,
    	'Content-Type' => 'application/json'
	];

	$body = json_encode([
    	"url" => "https://twitter.com"
	]);

	$request = new Request('POST', 'https://api.admintrick.com.com/metascraping', $headers, $body);

	$response = $client->sendAsync($request)->wait();

	echo $response->getBody();
?>

บันทึกสคริปต์ ปิด และเรียกใช้โดยใช้

php script.php

คุณควรได้รับผลลัพธ์ต่อไปนี้:

{
    "timestamp":1669322100912,
    "apiStatus":"success",
    "apiCode":200,
    "meta": {
        "url":"https://twitter.com",
        "device":"desktop",
        "test":{ 
            "id":"wn1nj30r04bk0ijtpprwdqmtuirg9lze"
        }
     },
     "data":{ 
         "author":null,
         "date":null,
         "description":"The latest stories on Twitter - as told by Tweets.",
         "image":"https://abs.twimg.com/a/1602199131/img/moments/moments-card.jpg",
         "logo":"https://abs.twimg.com/responsive-web/client-web/icon-ios.b1fc7279.png",
         "publisher":"Twitter",
         "title":"Explore",
         "url":"https://twitter.com/explore",
         "lang":"en"
     }
}

คำสุดท้าย

คู่มือนี้แนะนำวิธีต่างๆ ในการใช้ admintrick.com Metascraping API

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

ตรวจสอบเอกสารอย่างเป็นทางการของ admintrick.com API สำหรับข้อมูลเพิ่มเติม

เรื่องล่าสุด

x