Es muy simple desarrollar una herramienta de clasificación de búsqueda de consultas en Python

Para aquellos que están aprendiendo a comunicarse y buscan códigos fuente, haga clic en 【25 códigos fuente de proyectos prácticos de Python

Construye el fondo

Recientemente, necesito usar Google SEOQ (optimización de motores de búsqueda) en mi trabajo, los amigos que lo han conocido deben saber que una de las tareas indispensables del SEO es consultar el ranking de búsqueda de palabras clave. Cuando hay pocas palabras clave, puede verificarlas una por una sin ningún problema, pero en la etapa posterior, un sitio web tiene cientos o miles de palabras clave, y le tomará al menos varias horas verificar a cada persona una por una.

Aunque hay muchas herramientas SEO gratuitas o de pago en el mercado, las gratuitas básicamente no se pueden buscar por lotes, veo que solo hay 10 consultas como máximo en Internet, y la velocidad de consulta es muy lenta.

Las herramientas de cobro como Ahrefs y SEMrush tienen una tarifa mensual mínima de 995/mes. Por supuesto, también puedes comprarlo si crees que te conviene. Después de todo, muchas funciones de estas herramientas son muy útiles. La herramienta de búsqueda de clasificación que compartiré con ustedes hoy se basa en Python. Por supuesto, no es necesario que cueste dinero, solo instale el entorno de desarrollo de Python.

Pasos de implementación

Sin más preámbulos, vamos al código.

import requests
from bs4 import Beautifulsoup

Primero, importamos dos bibliotecas, solicitudes y Beautifulsoup, las solicitudes se usan para enviar solicitudes HTTP y Beautifulsoup se usa para analizar HTML.

def get_google_rank(keyword, website):
    try:
        url = f"https://www.google.com/search?q={
      
      keyword}"
        headers = {
    
    'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36'}
        response = requests.get(url, headers=headers)
        response.raise_for_status()

        soup = BeautifulSoup(response.text, 'html.parser')
        search_results = soup.find_all('div', class_='g')

        for i, result in enumerate(search_results):
            link = result.find('a')['href']
            if website in link:
                return i + 1  # 返回排名(从1开始)
        
        return -1  # 如果未找到网站,返回-1

    except requests.exceptions.RequestException as e:
        print(f"An error occurred: {
      
      e}")
        return None

El código anterior define una función llamada get gogle_rank, que acepta dos parámetros: palabra clave (palabra clave) y ebsite (nombre de dominio del sitio web). El objetivo de la función es obtener la clasificación de las palabras clave especificadas en los resultados de búsqueda de Google.

Dentro de la función, primero se construye una URL, que usa la palabra clave especificada para realizar una canción pública. Luego configure un encabezado User-Agen para simular una solicitud del navegador y use el método request.get para enviar una solicitud HTTP para obtener la respuesta de la página de resultados de búsqueda. response.raise for_status() se usa para verificar si la solicitud es exitosa.Si el código de estado devuelto no es 200, se lanzará una excepción.

A continuación, use la biblioteca Beautifulsoup para analizar el contenido HTML de la respuesta, cree un objeto Beautifulsoup y use el analizador html para analizar. Luego use el método find_a11 para encontrar todos los elementos div con el atributo de clase como g, y estos elementos contienen la información de los resultados de la búsqueda.

Luego use la función de enumerar para recorrer la lista de resultados de búsqueda y use result.find(a"href1 para obtener el enlace en cada resultado de búsqueda. Si el nombre de dominio del sitio web especificado aparece en el enlace, devuelva la clasificación actual (contando desde 1)

Si el nombre de dominio del sitio web especificado no se encuentra después de que finaliza el bucle, la función devuelve -1, lo que indica que no se encontró el sitio web.

Si se produce una excepción durante la solicitud, obtendrá solicitudes,excepciones.SolicitudExcepción, imprimirá un mensaje de error y devolverá Ninguno.

# 示例用法
keywords = [摸鱼小游戏”,是男人就下100层",游戏
website = "haiyong.site'
for keyword in keywords:
6
rank = get google rank(keyword, website)
if rank is not None:
if rank == -1:
print(f“{
    
    keyword}没有排名")
10
11
else:
print(f"{
      
      keyword}排名第{
      
      rank}")

Al final está el código para un ejemplo de uso. Define una lista de palabras clave que contiene varias palabras clave y un nombre de dominio de sitio web específico sitio web

A través del bucle for para recorrer la lista de palabras clave, llame a la función get_googe.rank para obtener la clasificación de cada palabra clave en los resultados de búsqueda de Google. Si la clasificación devuelta no es una, realice un juicio condicional basado en el valor de la clasificación. Si la clasificación es -1, imprima un mensaje que indique que la palabra clave no tiene clasificación; de lo contrario, imprima la información de clasificación de la palabra clave.

Lo anterior es el significado y la lógica de todo el código. Este código permite obtener la clasificación de las palabras clave especificadas en los resultados de búsqueda de Google y muestra cómo usar esta función a través de ejemplos.

código completo

import requests
from bs4 import BeautifulSoup

def get_google_rank(keyword, website):
    try:
        url = f"https://www.google.com.hk/search?q={
      
      keyword}"
        headers = {
    
    'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36'}
        response = requests.get(url, headers=headers)
        response.raise_for_status()

        soup = BeautifulSoup(response.text, 'html.parser')
        search_results = soup.find_all('div', class_='g')

        for i, result in enumerate(search_results):
            link = result.find('a')['href']
            if website in link:
                return i + 1  # 返回排名(从1开始)
        
        return -1  # 如果未找到网站,返回-1

    except requests.exceptions.RequestException as e:
        print(f"An error occurred: {
      
      e}")
        return None

# 示例用法
keywords = ['摸鱼小游戏','是男人就下100层','游戏']
website = 'haiyong.site'

for keyword in keywords:
    rank = get_google_rank(keyword, website)
    if rank is not None:
        if rank == -1:
            print(f"{
      
      keyword}没有排名")
        else:
            print(f"{
      
      keyword}排名第{
      
      rank}")

Hay un problema con la escalera, primero pongamos una captura de pantalla de la consulta en Bing.



Bueno, ese es el final del intercambio de hoy, hasta la próxima.

Supongo que te gusta

Origin blog.csdn.net/ooowwq/article/details/131818898
Recomendado
Clasificación