Cómo extraer metadatos del sitio web usando la API de raspado meta toadmin. ru

En general, el raspado web es la extracción de datos del sitio web del código HTML creado cuando se carga una página web.

MetaScraping es la extracción de metadatos de la página web de la página web Meta Tags.

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

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

Se pueden usar varios enfoques para fregar páginas web para sus metadatos, incluido el fregado manual, el uso de una biblioteca o el uso de una API como la API de matorral de metadatos de Toadmin. ru.

Muchas formas de matar al gato

Para eliminar manualmente, puede abrir una página web usando Chrome DevTools y extraer los metadatos en la pestaña «Elementos». Sin embargo, este tutorial es repetitivo y tedioso cuando se trata de varias páginas. Podemos automatizar la tarea utilizando varios enfoques:

El primer enfoque es escribir código desde cero. En este enfoque, usted realiza una solicitud HTTP al sitio web cuyos metadatos desea extraer. Luego puede analizar el código HTML que responde extrayendo datos de las metaetiquetas, utilizando expresiones regulares o coincidencia de patrones. Sin embargo, este enfoque significa reinventar la rueda, ya que pasará tiempo reescribiendo el código existente.

El segundo enfoque es usar una biblioteca en cualquier lenguaje de programación que prefiera. Esto le permite abstraer los detalles de implementación y simplifica la tarea. Sin embargo, si el lenguaje de programación que elija no tiene una biblioteca adecuada o el entorno de tiempo de ejecución particular que está utilizando no admite la biblioteca, no puede usarlo.

Un tercer enfoque es usar una API, como la API de metascraping de Toadmin. ru. Este enfoque es ideal porque le brinda una sola interfaz independientemente de su lenguaje de programación. Puede usarlo en cualquier idioma siempre que admita las solicitudes HTTP.

Este artículo muestra cómo usar la API de metascraping de toadmin. ru con curl, php y javaScript (nodejs).

Debido a las desventajas de otros enfoques, las ventajas de usar la API toadmin. ru son las siguientes:

  • Es independiente del lenguaje y el entorno de tiempo de ejecución.
  • No reinventa la rueda y pasas menos tiempo escribiendo código.
  • Puede limpiar varios sitios web de manera eficiente (en segundos).
  • Es increíblemente fácil de usar.
  • Puedes usarlo gratis.

Empiece a usar la API toadmin. ru

Para usar la API toadmin. ru, necesitará una clave API. Para obtener uno, vaya al sitio web Toadmin. ru y cree una cuenta gratuita. Una vez que se cree su cuenta, inicie sesión en su tablero. En el tablero deberías ver tu tecla API.

El punto final API se encuentra en https://api. toadmin. ru. com/metascraping. Cuando realiza una solicitud, debe especificar su clave API como 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. Estos son URL, dispositivo y proxycountry.

  • URL especifica la URL de la página web cuyos metadatos desea limpiar.
  • El dispositivo especifica el dispositivo utilizado para visitar el sitio al borrar los metadatos. Las opciones de su dispositivo son móviles o de escritorio.
  • Proxy Country especifica el país desde el cual se debe realizar la solicitud antes de la limpieza de datos. Sin embargo, el proxy-country es una característica pagada y solo se puede usar bajo los planes pagados de toadmin. ru.

Dado que los parámetros se pasarán como parte del cuerpo, la solicitud debe ser una solicitud posterior, ya que las solicitudes GET no pueden contener metadatos.

En la primera demostración, utilizaremos la utilidad de la línea de comando Curl para consultar la API de metascraping. Para usar Curl, primero debe instalarlo.

Voy a usar una terminal Bash. Este debería ser el terminal predeterminado en MacOS y Linux. Para Windows, deberá instalar Git Bash.

Una vez que hayamos instalado Curl, podemos usar el comando CURL para ejecutar la consulta. Pasaremos opciones al comando para especificar los parámetros de solicitud: método de solicitud, punto final, cuerpo de solicitud y encabezados de solicitud.

cur l-x post https://api. toadmin. ru. com/metascrapin g-d '< "url": "https://tesla.com" >'-H' Content-Type: Application/JSON '-H' X-API-Key: '

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

Este comando especificó el método HTTP como POST, y el punto final como el punto final de meta-limpieza de TOAdmin. ru.

También enviamos el cuerpo de solicitud como un objeto JSON con la propiedad URL especificada como https://tesla. com. Finalmente, agregamos encabezados que identifican el tipo de contenido del cuerpo como JSON y proporcionamos una tecla API usando el encabezado X-API-Key.

Cuando ejecutamos este comando, obtenemos la siguiente salida:

>,"data":>

Esta es la salida correcta.

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

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

mkdir metascraping-js & amp; & amp; CD MetaScraping-JS

Después de eso, podemos crear un archivo donde escribiremos el script:

touch index. js.

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

npm ini t-y

Para usar la sintaxis de Esmodule dentro de nuestro archivo, agregue la línea «tipo»: «módulo» a la raíz del archivo paquete. 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 paquete Node-Fetch. Este paquete proporciona una función de Fetch en NodeJS similar a la función de búsqueda del navegador. Esto hace que sea más fácil realizar solicitudes HTTP en NodeJS que usar el módulo HTTP incorporado para realizar solicitudes.

NPM Instalar nodo Fetch

Cuando el paquete está instalado correctamente, podemos comenzar a editar el script. Abra el archivo index. js en un editor de texto de su elección. En mi caso, usaré el editor de texto basado en terminal Nano.

nano index. js.

Edición del archivo index. js, comenzamos importando la función Fetch, que es la exportación predeterminada del módulo de fetch nodo.

Importar buscar en 'nodo-fetch'

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

const body = json. stringify (< url: 'https://spacex.com' >);

Luego podemos definir los parámetros de consulta que pasaremos a la función de búsqueda cuando finalmente la llamemos.

Const Opciones =< method: 'POST', headers: < 'Content-Type': 'application/json', 'x-api-key': >, body: body >

Hemos definido nuestro método de consulta como una solicitud posterior. También hemos definido dos encabezados. Uno indica que el cuerpo contiene datos JSON y el otro proporciona la clave API.

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

Finalmente, hacemos una llamada para recuperar

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

Aquí hemos llamado a la función Fetch, pasando el punto final API y los parámetros que definimos anteriormente. Como Fetch devuelve una promesa, adjuntamos una devolución de llamada que analiza las respuestas JSON usando entonces.

La devolución de llamada devuelve otra promesa, y cuando se resuelve, vamos a usar console. log () para el objeto devuelto.

Entonces, nuestro archivo debería terminar luciendo así.

importar la búsqueda de 'nodo-fetch' const body = json. stringify (< url: 'https://spacex.com' >); Const Opciones =< method: 'POST', headers: < 'Content-Type': 'application/json', 'x-api-key': >, body: body > fetch('https://api.toadmin.ru.com/metascraping', options) .then(response => response.json()) .then(json =>console. log (json))

Para ejecutar el script, guarde sus cambios y cierre nano o el editor de texto que está utilizando, luego escriba el siguiente comando:

nodo.

Deberías obtener los siguientes metadatos:

 < timestamp: 1669305079698, apiStatus: 'success', apiCode: 200, meta: < url: 'https://spacex.com', device: 'desktop', test: < id: '8m3srgqw06q2k8li5p6x70s8165d6e2f' >>, datos:< 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' >>

Usando la API toadmin. ru con PHP

Para usar la API Toadmin. ru MetaScraping, primero asegúrese de tener PHP y compositor instalados en su computadora local.

Primero, cree y abra una carpeta de proyecto.

mkdir metascraping-php & amp; & amp; CD MetaScraping-PHP

Luego instale GuzzleHTTP. Guzzle es uno de los muchos clientes de PHP que puede usar con la API Toadmin. ru.

El compositor requiere GuzzleHttp/Guzzle

Después de instalar Guzzle, podemos crear un script con

toque script. php

Entonces podemos comenzar a escribir código. Usando cualquier editor de texto, abra el archivo script. php. En mi caso, voy a usar Nano, un editor de texto basado en terminal.

nano script. php

Dentro del script, insertamos el código de plantilla PHP

Ahora, para cargar las extensiones, importe la solicitud y las clases de clientes desde Guzzle. Este código debe escribirse entre las etiquetas que escribimos anteriormente.

request_once ('Vendor/Autoload. php'); use guzulzhttpclient; use guzulzhttppsr7Request;

A continuación, podemos crear un cliente creando una instancia de la clase GuzzzhttpClient.

$ Client = new GuzzleHttpClient ();

Después de eso, podemos definir los encabezados para la solicitud. Para esta solicitud en particular, proporcionaremos dos encabezados, uno que indica que el tipo de contenido del cuerpo es JSON y el otro que indica nuestra clave API.

$headers = [ 'x-api-key' => , 'Content-Type' =>'Aplicación/JSON'];

Reemplace con su clave API real del panel API TOADmin. ru.

Luego podemos definir el cuerpo. En nuestro caso, el cuerpo será una cadena JSON con la URL de la propiedad establecida en «https://twitter. com».

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

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

$solicitud = nueva solicitud('POST', 'https://api. toadmin. ru. com/metascraping', $encabezados, $cuerpo);

A continuación, usamos el cliente para enviar la solicitud.

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

Después de eso, podemos recuperar el cuerpo de la solicitud y enviarlo a la consola.

echo $response->obtenerCuerpo();

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

 , 'Content-Type' => 'application/json' ]; $body = json_encode([ "url" => "https://twitter.com" ]); $request = new Request('POST', 'https://api.toadmin.ru.com/metascraping', $headers, $body); $response = $client->sendAsync($request)->wait(); echo $response->getBody(); ?>

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

script php. php

Debería obtener el siguiente resultado:

 < "timestamp":1669322100912, "apiStatus":"success", "apiCode":200, "meta": < "url":"https://twitter.com", "device":"desktop", "test":< "id":"wn1nj30r04bk0ijtpprwdqmtuirg9lze" >>, "datos":< "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

Este tutorial ha cubierto varias formas de usar la API Metascraping de toadmin. ru.

La API Metascraping también le permite proporcionar más parámetros que solo la URL. Uno de esos parámetros es el parámetro proxy, al que solo se puede acceder como parte del plan premium de la API toadmin. ru. A pesar de esto, la API toadmin. ru sigue siendo lo suficientemente potente para muchas aplicaciones.

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