CoderCastrov logo
CoderCastrov
Парсер веб-страниц на Python

Парсинг результатов поиска Google на основе ключевых слов запроса на Python

Парсинг результатов поиска Google на основе ключевых слов запроса на Python
просмотров
2 мин чтение
#Парсер веб-страниц на Python

Я хочу автоматизировать парсинг и сохранение результатов поиска в Google на основе набора ключевых слов и запросов с использованием Python. Один из возможных вариантов использования этого парсинга может быть необходимость найти новости, контекстную информацию или статьи по актуальным вопросам в различных местах или сообществах. Еще один вариант использования может быть связан с маркетингом. Например, необходимость найти ссылки на социальные сети и контакты определенной целевой группы лиц с определенными рабочими ролями в сообществах или местах из поиска Google. Конечно, существует множество других вариантов использования поиска Google.

Видеоурок, дополняющий эту страницу блога:

Здесь я рассмотрю код поэтапно:

Шаг 1: начальные настройки

# необходимые пакеты и начальные настройки для чтения файла данных из Google Drive в Google Colab
from google.colab import auth
auth.authenticate_user()
import gspread
from google.auth import default
creds, _ = default()
gc = gspread.authorize(creds)
# другие необходимые пакеты в зависимости от потребностей
import pandas as pd
import re
from tqdm import tqdm
!pip3 install --upgrade ecommercetools
from ecommercetools import seo

Шаг 2: импорт данных ключевых слов для запросов

Шаг 3: Создание списка запросов на основе данных ключевых слов

Существует структура для ключевых слов, которые будут использоваться в поиске Google. В этом примере для ключевых слов есть три столбца в данных. Мы предоставляем две комбинации для создания двух вариантов списка запросов, которые будут использоваться в Google, следующим образом:

Шаг 4: Парсинг результатов поиска Google с использованием функции seo из ecommercetools на Python

# def get_google_links(query, pages_num, condition):
targets = []
for query in tqdm(Querylist1):
  # шаг 4.1: укажите, сколько страниц поиска Google вы хотите искать!
  pages_num = 5
  # шаг 4.2: укажите, какой тип результатов поиска Google вы хотите получить 
  # и сосредоточьтесь на данном списке ключевых слов
  conditions = ['wikipedia','twitter','linkedin','facebook','news'] # использовать [''], чтобы получить все результаты поиска Google
  # Шаг 4.3: основная часть. 
  try:
    res = seo.get_serps(query, pages=pages_num)
  except:
    continue
  for c in conditions[:]:
    temp1 = res[res['link'].str.contains(c,case=False)]['title'].to_list()
    temp2 = res[res['link'].str.contains(c,case=False)]['link'].to_list()
    if len(temp1)==0:
      y = ''
    else:
      y = temp1[0]
    if len(temp2)==0:
      z = ''
      continue
    else:
      z = temp2[0]
    targets.append([y,z,c,query])

Шаг 5: сохранение результата

Связанные ссылки: