How to Extract Website Meta Data using Geekflare Meta Scraping API

Cómo raspar los metadatos del sitio web usando Geekflare Meta Scraping API

Publicado por
Comparte en redes sociales


En general, el web scraping consiste en extraer datos de un sitio web a partir del código HTML producido cuando se carga una página web.

Metascraping extrae los metadatos de la página web de las etiquetas meta de una página web.

Los metadatos de una página web son información sobre la página pero no sobre el contenido de la página. Por ejemplo, los metadatos pueden incluir el nombre del autor, el título y la descripción de la página web.

Ayuda a los usuarios y a los motores de búsqueda a comprender de qué se trata la página. El raspado de metadatos permite a un usuario recopilar rápidamente información de páginas web en menos tiempo.

Se pueden usar varios enfoques para eliminar los metadatos de las páginas web, incluido el raspado manual, el uso de una biblioteca o el uso de una API como Geekflare Metascraping API.

Varias formas de matar a un gato.

Para eliminar manualmente, se puede abrir una página web con Chrome DevTools y extraer los metadatos de la pestaña Elementos. Sin embargo, este manual, repetitivo y tedioso al tratarse de varias páginas. Podemos automatizar la tarea utilizando varios enfoques:

los primer enfoque es escribir el código desde cero. En este enfoque, realiza una solicitud HTTP al sitio web cuyos metadatos desea extraer. Luego, puede analizar la respuesta HTML extrayendo datos de metaetiquetas usando expresiones regulares o coincidencias de patrones. Sin embargo, este enfoque reinventa la rueda, ya que pasará tiempo reescribiendo el código existente.

los segundo enfoque es utilizar una biblioteca en el lenguaje de programación que prefieras. Esto le permite abstraer los detalles de implementación y simplificar las cosas. Sin embargo, si el lenguaje de programación de su elección no tiene una biblioteca adecuada, o si el tiempo de ejecución particular que está utilizando no es compatible con la biblioteca, no puede usarlo.

los tercer enfoque es usar una API como Geekflare Metascraping API. Este enfoque es ideal porque le brinda una interfaz uniforme independientemente de su lenguaje de programación. Se puede usar en cualquier idioma siempre que admita solicitudes HTTP.

Este artículo demostrará cómo usar la API Metascraping de Geekflare con cURL, PHP y JavaScript (NodeJS).

Debido a los inconvenientes de otros enfoques, las ventajas de usar la API de Geekflare son:

  • Es independiente del lenguaje y del tiempo de ejecución.
  • Evita reinventar la rueda y dedica menos tiempo a escribir código.
  • Puede raspar efectivamente múltiples sitios web (en segundos).
  • Es increíblemente fácil de usar.
  • Puedes usarlo gratis.

Primeros pasos con la API de Geekflare

Para usar la API de Geekflare, necesitará una clave de API. Para obtener uno, diríjase al sitio web de Geekflare y cree una cuenta gratuita. Después de crear su cuenta, inicie sesión en el panel. Desde el tablero, debería poder ver su clave API.

Geekflare-Panel-1cryptoshitcompra.com/wp-content/uploads/2022/11/Como-raspar-los-metadatos-del-sitio-web-usando-Geekflare-Meta.jpg»/>

El punto final de la API se encuentra en https://api.geekflare.com/metascraping. Cuando realiza una solicitud, debe proporcionar su clave API como un encabezado de solicitud con el nombre x-api-key y el valor es su clave API.

También deberá pasar parámetros adicionales en el cuerpo de la solicitud. He aquí los url, devicey proxyCountry.

  • URL especifica la URL de la página web cuyos metadatos desea recuperar.
  • Dispositivo especifica el dispositivo utilizado para visitar el sitio al extraer metadatos. Sus opciones para dispositivos son móviles o de escritorio.
  • País obligatorio especifica el país desde el que se debe realizar la solicitud antes de que se eliminen los datos. Sin embargo, el país proxy es una característica premium y solo se puede usar en los planes pagos de Geekflare.
Leer también  Best Cheap Proxy Services in 2024

Dado que los parámetros se pasarán como parte del cuerpo, la solicitud debe ser un POST solicitud desde GET las consultas no pueden contener metadatos.

En la primera demostración, usaremos la utilidad cURL desde la línea de comandos para solicitar la API Metascraping. Para usar cURL necesitarás instalarlo primero.

Usaré una terminal Bash. Esta debería ser la terminal predeterminada en macOS y Linux. Para Windows, deberá instalar Git Bash.

Una vez instalado cURL, podemos usar el comando cURL para realizar la solicitud. Pasaremos opciones al comando para especificar los parámetros de la solicitud: el método de solicitud, el punto final, el cuerpo de la solicitud y los encabezados de la solicitud.

curl -X POST \
https://api.geekflare.com/metascraping \ 
-d '{ "url": "https://tesla.com" }' \
-H 'Content-Type: application/json' \
-H 'x-api-key: <API_KEY&gt;'

NB: La barra invertida después de las tres primeras líneas le permite dividir la entrada del comando en varias líneas.

Este comando especificó el método HTTP como POST y el punto final como el punto final de meta-scraping de la API de Geekflare.

También enviamos el cuerpo de la solicitud como un objeto JSON con una propiedad de URL especificada como https://tesla.com. Finalmente, agregamos los encabezados que especifican el tipo de contenido del cuerpo como JSON y proporcionamos la clave API usando el x-api-key en cabeza.

Cuando ejecutamos este comando, obtenemos el siguiente resultado:

{"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"}}

Esta es la salida correcta.

Para este proyecto, crearemos un script NodeJS para recuperar datos de la API. Esto significa que necesitará instalar NodeJS. También necesitará NPM o cualquier otro administrador de paquetes para que Node administre las dependencias del proyecto. También usaré la terminal Bash para ejecutar comandos.

Para usar la API en JavaScript, primero creamos una carpeta de proyecto vacía y la abrimos en una terminal.

mkdir metascraping-js && cd metascraping-js

Después de eso, podemos crear el archivo en el que escribiremos el script:

touch index.js

Entonces podemos crear una instancia del proyecto como un proyecto de Nodo:

npm init -y

Para usar la sintaxis ESModule en nuestro archivo, agregue la línea «type« : «module” en la raíz del archivo package.json para que se vea así:

{
  "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",
}

A continuación instalaremos el node-fetch paquete. Este paquete ofrece una fetch función en NodeJS similar al navegador fetch función. Esto facilita la creación de solicitudes HTTP en NodeJS en lugar de usar la función integrada http Módulo para realizar solicitudes.

npm install node-fetch

Cuando el paquete está correctamente instalado, podemos comenzar a editar el script. Abre el index.js archivo utilizando un editor de texto de su elección. En mi caso usaré la terminal nano editor de texto.

nano index.js

Modificación de la index.js archivo, comenzamos importando el fetch función, que es la exportación predeterminada de la node-fetch módulo.

import fetch from 'node-fetch'

A continuación, definiremos el cuerpo de nuestra solicitud. Esta va a ser una cadena JSON con un url propiedad. los url El valor de la propiedad es la página web cuyos metadatos queremos obtener.

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

A continuación, podemos configurar las opciones de consulta que pasaremos al fetch función cuando finalmente la llamemos.

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

Hemos definido nuestro método de solicitud para que sea un POST solicitud. También hemos definido dos encabezados. Uno especifica que el cuerpo contiene datos JSON y el otro proporciona la clave API.

Leer también  Cómo grabar reuniones de Teams para referencia futura [+6 Tools]

Puedes reemplazar por su clave API real. En la práctica, la clave API no debe estar codificada en el archivo, sino que debe cargarse utilizando variables de entorno. Finalmente, especificamos la propiedad del cuerpo como el valor de la constante del cuerpo que definimos anteriormente.

Finalmente, hacemos un llamado fetch

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

Aquí llamamos a la función de búsqueda, pasando el punto final de la API y las opciones que configuramos anteriormente. Desde fetch devuelve una promesa, hemos adjuntado una devolución de llamada que analiza las respuestas JSON usando then.

La devolución de llamada devuelve otra promesa y, cuando se resuelva, console.log() el objeto devuelto.

Entonces, en última instancia, nuestro archivo debería verse así.

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.geekflare.com/metascraping', options)
    .then(response => response.json())
    .then(json => console.log(json))

Para ejecutar el script, guarde los cambios y cierre nano o cualquier editor de texto que esté usando, luego ingrese el siguiente comando:

node .

Debería obtener los siguientes metadatos:

{
  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'
  }
}

Uso de la API de Geekflare con PHP

Para usar la API Metascraping de Geekflare, primero asegúrese de que PHP y Composer estén instalados en su máquina local.

Para comenzar, cree y abra la carpeta del proyecto.

mkdir metascraping-php && cd metascraping-php

A continuación, instala GuzzleHTTP. Guzzle es uno de los muchos clientes PHP que puede usar con la API de Geekflare.

composer require guzzlehttp/guzzle

Una vez instalado Guzzle, podemos crear un script con

touch script.php

Entonces podemos empezar a escribir el código. Utilizando un editor de texto de su elección, abra el script.php carpetas. En mi caso usaré nano que es un editor de texto basado en terminal.

nano script.php

Dentro del script insertamos PHP repetitivo

<?php
    // All code goes here
?>

Ahora, para cargar las extensiones, importa las clases Request y Client desde Guzzle. Este código debe escribirse entre el <?php y ?> escribimos antes.

require_once('vendor/autoload.php');

use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;

Entonces podemos crear un cliente instanciando el GuzzleHttp\Client clasificar

$client = new GuzzleHttp\Client();

A continuación, podemos establecer encabezados para la solicitud. Para esta solicitud en particular, proporcionaremos dos encabezados, uno que especifica que el tipo de contenido del cuerpo es JSON y el otro que contiene nuestra clave API.

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

Reemplazar <YOUR API KEY HERE> con su clave de API real del Panel de API de Geekflare.

Leer también  Top 10 Marketing Podcasts That Will Transform Your Strategy

A continuación podemos definir el cuerpo. En nuestro caso, el cuerpo será una cadena JSON con la propiedad url ajustado a "https://twitter.com"

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

Para crear una solicitud, instanciamos la clase de solicitud que importamos anteriormente, pasando el método de solicitud, el punto final, los encabezados y el cuerpo de la solicitud.

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

Luego usamos el cliente para enviar la solicitud.

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

Después, podemos extraer el cuerpo de la solicitud e imprimirlo en la consola.

echo $response->getBody();

Si copió el código correctamente, el script.php el archivo debería verse así

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

	use GuzzleHttp\Client;
	use GuzzleHttp\Psr7\Request;

	$client = new GuzzleHttp\Client();

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

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

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

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

	echo $response->getBody();
?>

Guarde el script, ciérrelo y ejecútelo usando

php script.php

Deberías obtener el siguiente resultado:

{
    "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"
     }
}

Ultimas palabras

Esta guía ha presentado diferentes formas de usar la API Metascraping de Geekflare.

La API Metascraping también le permite proporcionar más parámetros que solo la URL. Una de estas configuraciones es la configuración del proxy, a la que solo se puede acceder con el plan premium API de Geekflare. De cualquier manera, la API de Geekflare sigue siendo lo suficientemente poderosa para muchos usos.

Consulte la documentación oficial de la API de Geekflare para obtener más información.





Source link

Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.

Direcciones de Billetera:

- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS 

- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe 

- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f

- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx 

También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:

-Twitter

- Telegram

Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *