Парсинг результатов поиска Google на основе ключевых слов запроса на 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: сохранение результата
Связанные ссылки:
- код решения: ссылка на страницу блога в https://winswithdata.com/?p=283
- образец данных для ключевых слов запроса: https://docs.google.com/spreadsheets/d/1nryGNMj54kxOwJhcUGn0gqsBOGNni0yXyguBoRLzKfY/edit?usp=sharing