Веб-скрапинг и извлечение данных произвели революцию в том, как мы собираем информацию из огромного количества данных в Интернете. Поисковые системы, такие как Google, являются золотыми жилами знаний, и способность извлекать полезные URL-адреса из результатов поиска может иметь большое значение для многих целей. Независимо от того, владеете ли вы бизнесом, занимающимся маркетинговыми исследованиями, любите данные и хотите получить информацию или вам нужны данные для различных целей в вашей работе, веб-скрапинг может предоставить вам необходимые данные.

В этом блоге мы узнаем, как собирать результаты поиска Google, извлекать полезную информацию и как правильно хранить информацию в SQLite .

Мы будем использовать Питон и Crawlbase Crawling API. Вместе мы пройдем сложный мир веб-скрейпинга и управления данными, давая вам навыки и знания, как использовать мощь результатов поиска Google. Давайте прыгать и начинать!

Зачем копировать URL-адреса из результатов поиска Google?

Скрапинг страниц поиска Google имеет много преимуществ. Он дает вам доступ к огромному и разнообразному набору данных благодаря первому месту Google как самой используемой поисковой системы в мире. Эти данные охватывают множество областей: от бизнеса до школы и исследований.

Зачем парсить страницы поиска Google

Реальная сила парсинга в том, что вы можете получить только те данные, которые вам нужны. Результаты поиска Google соответствуют тому, что вы ищете. Когда вы парсите эти результаты, вы можете получить данные, которые соответствуют вашим поисковым запросам, что позволяет вам извлечь только необходимую информацию. Поиск Google показывает список веб-сайтов по теме, которую вы ищете. Парсинг этих ссылок позволяет вам создать полный набор источников, которые соответствуют тому, что вы исследуете или изучаете.

Компании могут использовать парсинг результатов поиска Google для изучения рынка. Они могут получить представление о своих конкурентах из результатов поиска по своей сфере или продуктам. Просмотр этих результатов помогает им понять тенденции рынка, что думают покупатели и что делают другие компании. Люди, которые создают контент и пишут блоги, могут использовать этот метод для поиска хороших статей, постов в блогах и новостей. Это дает им прочную базу для создания собственного контента. Интернет-маркетологи и эксперты по поисковой оптимизации получают много от парсинга страниц поиска.

Изучение скрейпинга страниц поиска Google дает вам мощный инструмент для использования богатства информации в Интернете. В этом блоге мы рассмотрим техническую сторону этого процесса. Мы будем использовать Python и Crawlbase Crawling API как наши инструменты. Давайте начнем это путешествие, чтобы узнать об искусстве и науке веб-скрапинга для страниц поиска Google.

. Crawlbase Crawling API для извлечения результатов Google

The Crawlbase Crawling API лидирует в области веб-скрейпинга, предоставляя пользователям мощный и гибкий способ извлечения данных с веб-сайтов. Он призван облегчить сложную работу по веб-скрейпингу, предлагая простой интерфейс с мощными инструментами. С Crawlbase Помогая вам, вы можете настроить автоматический сбор данных с веб-сайтов, даже с таких сложных, как страницы поиска Google. Эта автоматизация экономит вам массу времени и работы, которые вы в противном случае потратили бы на сбор данных вручную. Давайте подробнее рассмотрим ход мыслей, стоящий за этим выбором:

  1. Масштабируемость: Crawlbase имеет возможность обрабатывать веб-скрапинг в больших масштабах. Ваш проект может охватывать несколько сотен страниц или огромную базу данных с миллионами записей. Crawlbase подстраивается под ваши потребности, гарантируя бесперебойный рост ваших проектов по парсингу.
  2. Надежность: Веб-скрапинг может быть сложным, поскольку веб-сайты постоянно меняются. Crawlbase решает эту проблему с помощью надежной обработки и мониторинга ошибок. Это снижает вероятность срыва заданий и возникновения неожиданных проблем.
  3. Управление прокси: Веб-сайты часто используют антискрейпинговые меры, такие как блокировка IP. Чтобы справиться с этим, Crawlbase предлагает хорошее управление прокси. Эта функция помогает вам избегать IP-банов и гарантирует, что вы все равно сможете получить нужные вам данные.
  4. Простота: Crawlbase API избавляет от хлопот по созданию и запуску вашего скрапера или краулера. Он работает в облаке, занимаясь сложными техническими вещами, так что вы можете сосредоточиться на получении необходимых вам данных.
  5. Свежие данные: Crawlbase Crawling API гарантирует, что вы получите самые новые и актуальные данные, сканируя в режиме реального времени. Это ключ для задач, требующих точного анализа и принятия решений.
  6. Экономия денег: Настройка и запуск вашей системы веб-скрейпинга может быть дорогим. С другой стороны, Crawlbase Crawling API предлагает более дешевый вариант, при котором вы платите только за то, что используете.

Исследуя Crawlbase Библиотека Python

The Crawlbase Библиотека Python поможет вам максимально эффективно использовать Crawlbase Crawling API. Эта библиотека служит вашим инструментом для добавления Crawlbase в проекты Python. Это упрощает процесс для разработчиков, независимо от их уровня опыта.

Вот как это работает:

  1. инициализации: Начните свое путешествие с инициализации Crawling API класс с вашим Crawlbase маркер.
1
api = CrawlingAPI({ токен: 'ВАШ_ТОКЕН_БАЗЫ_КРАНА' })
  1. Скрапинг URL-адресов: Легко извлекайте URL-адреса с помощью функции get, указав URL-адрес и любые необязательные параметры.
1
2
3
ответ = api.get('https://www.example.com')
if ответ['status_code'] == 200:
Распечатать(ответ['тело'])
  1. Производство на заказ: The Crawlbase Библиотека Python имеет опции для настройки вашего скрапинга. Вы можете ознакомиться с дополнительными способами исследования в документации API.

Теперь вы знаете о Crawlbase Crawling API и может использовать его хорошо. Мы собираемся погрузиться в огромные результаты поиска Google, раскрывая секреты получения веб-данных. Давайте начнем и изучим всю информацию, которую может предложить Google!

4. Основные требования для успешного старта

Прежде чем вы начнете свой путь веб-скрейпинга с помощью Crawlbase Crawling API, вам нужно подготовить некоторые важные вещи. В этой части мы поговорим об этих необходимых вещах, которые помогут вам быть готовыми к тому, что вас ждет.

Настройка среды разработки для парсинга Google

Настройка пространства кодирования — это первое, что нужно сделать в вашем веб-скрапинге Google Search. Вот что вам нужно сделать:

  1. Установка Python: Убедитесь, что на вашем компьютере установлен Python. Вы можете получить последнюю версию Python с их официального сайта. Там же вы найдете простые в использовании руководства по настройке.
  2. Редактор кода: выберите редактор кода или IDE для написания кода Python. Некоторые популярные варианты: Visual Studio Code, PyCharm, Jupyter Notebook, или даже простой текстовый редактор вроде Sublime Text.
  3. Виртуальная среда: Настройка виртуальной среды для вашего проекта — это умный ход. Она сохраняет требуемые пакеты вашего проекта отдельно от того, что установлено в основной установке Python вашего компьютера. Это помогает избежать конфликтов между различными версиями пакетов. Вы можете использовать встроенную в Python venv модуль или другие инструменты, такие как virtualenv для создания этих изолированных сред.

Установка необходимых библиотек для сбора результатов поиска Google

Для взаимодействия с Crawlbase Crawling API и эффективно выполнять задачи веб-скрейпинга, вам нужно будет установить некоторые библиотеки Python. Вот список ключевых библиотек, которые вам понадобятся:

  1. Crawlbase: Легкий, не требующий зависимостей класс Python, который действует как оболочка для Crawlbase API. Мы можем использовать его для отправки запросов в Crawling API и получать ответы. Вы можете установить его с помощью pip:
1
pip установить crawlbase
  1. SQLite: SQLite — это легкая, безсерверная и самодостаточная СУБД, которую мы будем использовать для хранения извлеченных данных. Python поставляется со встроенной поддержкой SQLite, поэтому нет необходимости устанавливать ее отдельно.

Создание вашего Crawlbase Аккаунт

Теперь давайте настроим вас с помощью Crawlbase учетная запись. Следуй этим шагам:

  1. Посетить Crawlbase Веб-сайт: Откройте веб-браузер и перейдите к Crawlbase Страница регистрации на сайте, чтобы начать процесс регистрации.
  2. Предоставьте свои данные: Вам будет предложено указать свой адрес электронной почты и создать пароль для вашего Crawlbase аккаунт. Заполните необходимую информацию.
  3. Проверка: После отправки данных вам может потребоваться подтвердить свой адрес электронной почты. Проверьте свой почтовый ящик на наличие письма с подтверждением от Crawlbase и следуйте предоставленным инструкциям.
  4. Вход: После проверки вашей учетной записи вернитесь на страницу Crawlbase веб-сайт и войдите в систему, используя только что созданные учетные данные.
  5. Получите доступ к своему токену API: Для использования вам понадобится API-токен. Crawlbase Crawling API. Вы можете найти свои токены здесь.

Настроив среду разработки, установив необходимые библиотеки и Crawlbase После создания учетной записи вы теперь оснащены всем необходимым для погружения в мир веб-скрапинга с помощью Crawlbase Crawling API. В следующих разделах мы углубимся в понимание структуры страницы поиска Google и тонкостей веб-скрапинга. Итак, продолжим наше путешествие!

5. Понимание структуры страниц результатов поиска Google

Чтобы научиться хорошо парсить страницы поиска Google, вам нужно понять, как эти страницы устроены. Google использует сложную схему, которая смешивает различные части для отображения результатов поиска. В этой части мы разберем основные части и покажем вам, как обнаружить ценные данные внутри.

Компоненты страницы результатов поиска Google

Типичная страница поиска Google состоит из нескольких отдельных разделов, каждый из которых служит определенной цели:

Скребок страницы поиска Google
  1. Панель поиска: Вы найдете панель поиска в верхней части страницы. Здесь вы вводите то, что ищете. Затем Google просматривает свою базу данных, чтобы показать вам соответствующие результаты.
  2. Инструменты поиска: Прямо над результатами поиска вы увидите ряд опций, которые позволят вам сузить область поиска. Вы можете изменить способ сортировки результатов, выбрать определенный диапазон дат или тип нужного вам контента. Это поможет вам найти то, что вам нужно.
  3. Реклама: Следите за спонсорским контентом в начале и конце результатов поиска. Это реклама, за которую платят компании. Она может быть связана с тем, что вы искали, но иногда нет.
  4. Местоположение: Google часто показывает карту в верхней части страницы результатов поиска, которая относится к тому, что вы ищете. Она также перечисляет адреса и как связаться с наиболее релевантными местами.
  5. Результаты поиска: Основная часть страницы содержит список веб-сайтов, статей, изображений или других материалов, соответствующих вашему поиску. Каждый элемент обычно имеет заголовок, небольшой предварительный просмотр и веб-адрес.
  6. Люди также спрашивают: Рядом с результатами поиска вы часто увидите поле «Люди также спрашивают». Оно работает как раздел часто задаваемых вопросов, показывая вопросы, связанные с тем, что вы искали.
  7. Похожие поиски: Google показывает список ссылок на похожие поисковые запросы на основе вашего запроса. Эти ссылки могут привести вас к полезным ресурсам, которые дополняют вашу коллекцию данных.
  8. Knowledge Graph: С правой стороны страницы вы можете увидеть панель Knowledge Graph с информацией о теме, которую вы искали. Эта панель часто содержит ключевые факты, изображения и связанные темы.
  9. Пагинация: Если результатов поиска больше, вы найдете ссылки пагинации внизу. Они позволяют перемещаться по результатам.

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

6. Освоение парсинга страниц поиска Google с помощью Crawling API

В этой части мы сосредоточимся на приобретении навыков парсинга страниц поиска Google с использованием Crawlbase Crawling API. Мы хотим использовать этот мощный инструмент в полной мере, чтобы извлечь информацию из результатов поиска Google. Мы рассмотрим основные шаги, от получения вашего Crawlbase токен для обработки пагинации. В качестве примера мы соберем важные сведения о результатах поиска по запросу «data science» в Google.

Получение правильного Crawlbase Токены

Прежде чем приступить к извлечению данных со страницы поиска Google, нам необходимо обеспечить доступ к Crawlbase Crawling API получив подходящий токен. Crawlbase Предоставляет два типа токенов: Normal Token (TCP) для статических веб-сайтов и JavaScript Token (JS) для динамических страниц. Для страниц поиска Google Normal Token — хороший выбор.

1
2
3
4
от база сканирования Импортировать CrawlingAPI

# Инициализируем Crawling API с вашей Crawlbase JavaScript-токен
api = CrawlingAPI({ токен: 'CRAWLBASE_NORMAL_TOKEN' })

Вы можете получить свой Crawlbase знак здесь после создания на нем учетной записи.

Настройка Crawlbase Crawling API

Имея на руках токен, приступим к настройке Crawlbase Crawling API для эффективного извлечения данных. Crawling API Ответы можно получить в двух форматах: HTML или JSON. По умолчанию API возвращает ответы в формате HTML. Однако мы можем указать параметр «format», чтобы получать ответы в формате JSON.

HTML-ответ:

1
2
3
4
5
6
7
Заголовки:
URL: "URL, который был просканирован"
оригинальный_статус: 200
pc_status: 200

Тело:
HTML-код страницы

Ответ JSON:

1
2
3
4
5
6
7
// передайте параметр запроса "format=json" для получения ответа в формате JSON
{
"исходный_статус": "200",
"статус_ПК": 200,
"URL": "URL, который был просканирован",
«Тело»: "HTML страницы"
}

Мы можем прочитать больше о Crawling API ответ здесь. Для примера мы будем использовать ответ JSON. Мы будем использовать инициализированный объект API для выполнения запросов. Укажите URL, который вы собираетесь скрейпить, используя api.get(url, options={}) функции.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
от база сканирования Импортировать CrawlingAPI
Импортировать JSON

# Инициализируем Crawling API с вашей Crawlbase Обычный токен
api = CrawlingAPI({ токен: 'CRAWLBASE_NORMAL_TOKEN' })

# URL страницы поиска Google, которую вы хотите скопировать
google_search_url = «https://www.google.com/search?q=data+science»

# вариантов для Crawling API
варианты = {
'формат': 'json'
}

# Сделайте запрос на очистку страницы поиска Google с параметрами
ответ = api.get(google_search_url, параметры)

# Проверьте, был ли запрос успешным
if ответ["заголовки"]['статус_ПК'] == '200':
# Загрузка JSON из тела ответа после декодирования байтовых данных
response_json = json.loads(ответ['тело'].decode('латинский1'))

# красивое печатающее тело ответа
Распечатать(json.dumps(response_json, отступ=4, sort_keys=Правда))
еще:
Распечатать(«Не удалось получить страницу. Код статуса:», ответ['status_code'])

В приведенном выше коде мы инициализировали API, определили URL-адрес поиска Google и настроили параметры для Crawling API. Мы передаем параметр «format» со значением «json», чтобы получить ответ в формате JSON. Crawling API предоставляет много других важных параметров. Вы можете прочитать о них здесь.

После успешного выполнения кода вы получите вывод, подобный приведенному ниже.

1
2
3
4
5
6
{
«Тело»: "Просканированный HTML страницы",
"исходный_статус": 200,
"статус_ПК": 200,
"URL": "https://www.google.com/search?q=data+science"
}

Выбор идеального скребка

Crawling API предоставляет несколько встроенных скраперов для разных важных веб-сайтов, включая Google. Вы можете прочитать о доступных скраперах здесьПараметр «scraper» используется для анализа полученных данных в соответствии с определенным скрапером, предоставленным Crawlbase API. Это необязательно; если не указано, вы получите полный HTML страницы для ручного скрапинга. Если вы используете этот параметр, ответ вернется в виде JSON, содержащего информацию, проанализированную в соответствии с указанным скрапером.

Пример:

1
2
# Пример использования определенного скребка
ответ = api.get('https://www.google.com/search?q=ваш_поисковый_запрос', { «скребок»: 'имя_скребка' })

Один из доступных скраперов — «google-serp», разработанный для страниц результатов поиска Google. Он возвращает объект с подробностями, такими как реклама, и людям также нравятся подробности раздела, результаты поиска, связанные поиски и многое другое. Сюда входит вся информация, которая нам нужна. Вы можете прочитать о скрапере «google-serp» здесь.

Давайте добавим этот параметр в наш пример и посмотрим, что получим в ответе:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
от база сканирования Импортировать CrawlingAPI
Импортировать JSON

# Инициализируем Crawling API с вашей Crawlbase Обычный токен
api = CrawlingAPI({ токен: 'CRAWLBASE_NORMAL_TOKEN' })

# URL страницы поиска Google, которую вы хотите скопировать
google_search_url = «https://www.google.com/search?q=data+science»

# вариантов для Crawling API
варианты = {
«скребок»: 'google-serp'
}

# Сделайте запрос на очистку страницы поиска Google с параметрами
ответ = api.get(google_search_url, параметры)

# Проверьте, был ли запрос успешным
if ответ['status_code'] == 200 и ответ["заголовки"]['статус_ПК'] == '200':
# Загрузка JSON из тела ответа после декодирования байтовых данных
response_json = json.loads(ответ['тело'].decode('латинский1'))

# красивое печатающее тело ответа
Распечатать(json.dumps(response_json, отступ=4, sort_keys=Правда))
еще:
Распечатать(«Не удалось получить страницу. Код статуса:», ответ['status_code'])

Вывод:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
{
«Тело»: {
"реклама": [],
"numberOfResults": 2520000000,
"peopleAlsoAsk": [
{
"описание": «Специалист по данным использует данные для понимания и объяснения явлений вокруг них, а также помогает организациям принимать более обоснованные решения. Работа в качестве специалиста по данным может быть сложной в интеллектуальном плане, но приносить аналитическое удовлетворение и выводить вас на передовую новых достижений в области технологий.15 июня 2023 г.»,
"место назначения": {
"текст": "Courserahttps://www.coursera.org \u00e2\u0080\u00a Статьи Coursera \u00e2\u0080\u00a Данные",
"URL": "https://www.coursera.org/articles/what-is-a-data-scientist#:~:text=A%20data%20scientist%20uses%20data,of%20new%20advances%20in%20technology."
},
"позиция": 1,
"заглавие": «Чем именно занимается специалист по анализу данных?»,
"URL": "https://google.com/search?sca_esv=561439800&q=What+exactly+does+a+data+scientist+do%3F&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQzmd6BAgvEAY"
},
{
"описание": «Да, поскольку для этого требуется прочная основа в математике, статистике и компьютерном программировании, поступление на специальность «наука о данных» может быть сложным. Однако способности и знания, необходимые для успеха в этом секторе, может получить любой человек, приложив достаточно усилий и целеустремленности. 11 августа 2023 г.»,
"место назначения": {
"текст": "simplilearn.comhttps://www.simplilearn.com \u00e2\u0080\u00a is-data-science-hard-article",
"URL": "https://www.simplilearn.com/is-data-science-hard-article#:~:text=Yes%2C%20because%20it%20demands%20a,amount%20of%20effort%20and%20commitment."
},
"позиция": 2,
"заглавие": «Наука о данных — это слишком сложно?»,
"URL": "https://google.com/search?sca_esv=561439800&q=Is+data+science+too+hard%3F&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQzmd6BAgqEAY"
},
{
"описание": «Требуется ли кодирование для науки о данных? Да, для науки о данных необходимо кодирование, поскольку она использует такие языки, как Python и R, для создания моделей машинного обучения и работы с большими наборами данных. 28 июля 2023 г.»,
"место назначения": {
"текст": "simplilearn.comhttps://www.simplilearn.com \u00e2\u0080\u00a какие-навыки-мне-нужны...",
"URL": "https://www.simplilearn.com/what-skills-do-i-need-to-become-a-data-scientist-article#:~:text=Does%20Data%20Science%20Require%20Coding,and%20deal%20with%20large%20datasets."
},
"позиция": 3,
"заглавие": «Является ли наука о данных кодированием?»,
"URL": "https://google.com/search?sca_esv=561439800&q=Is+data+science+a+coding%3F&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQzmd6BAgrEAY"
},
{
"описание": «Является ли наука о данных хорошей карьерой? Наука о данных — фантастическая карьера с огромным потенциалом для будущего роста. Уже сейчас есть большой спрос, конкурентоспособная оплата труда и несколько льгот. Компании активно ищут специалистов по данным, которые могут извлекать ценную информацию из огромных объемов данных. 19 июня 2023 г.»,
"место назначения": {
"текст": "simplilearn.comhttps://www.simplilearn.com \u00e2\u0080\u00a — это-наука-о-данных-хорошая-машина...",
"URL": "https://www.simplilearn.com/is-data-science-a-good-career-choice-article#:~:text=View%20More-,Is%20data%20science%20a%20good%20career%3F,from%20massive%20amounts%20of%20data."
},
"позиция": 4,
"заглавие": «Является ли наука о данных хорошей карьерой?»,
"URL": "https://google.com/search?sca_esv=561439800&q=Is+data+science+a+good+career%3F&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQzmd6BAgsEAY"
}
],
"связанныеПоиски": [
{
"заглавие": "вакансии в области науки о данных",
"URL": "https://google.com/search?sca_esv=561439800&q=Data+science+jobs&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhVEAE"
},
{
"заглавие": "зарплата в области науки о данных",
"URL": "https://google.com/search?sca_esv=561439800&q=Data+science+salary&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhQEAE"
},
{
"заглавие": "степень в области науки о данных",
"URL": "https://google.com/search?sca_esv=561439800&q=Data+Science+degree&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhREAE"
},
{
"заглавие": "наука о данных - википедия",
"URL": "https://google.com/search?sca_esv=561439800&q=data+science+-+wikipedia&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhTEAE"
},
{
"заглавие": «определение и пример науки о данных»,
"URL": "https://google.com/search?sca_esv=561439800&q=Data+science+definition+and+example&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhUEAE"
},
{
"заглавие": "программа по науке о данных",
"URL": "https://google.com/search?sca_esv=561439800&q=Data+Science+syllabus&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhSEAE"
},
{
"заглавие": «наука о данных против аналитики данных»,
"URL": "https://google.com/search?sca_esv=561439800&q=Data+science+vs+data+analytics&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhPEAE"
},
{
"заглавие": "что такое наука о данных в питоне",
"URL": "https://google.com/search?sca_esv=561439800&q=What+is+Data+Science+in+Python&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhNEAE"
}
],
"Результаты поиска": [
{
"описание": «Наука о данных объединяет математику и статистику, специализированное программирование, расширенную аналитику, искусственный интеллект (ИИ) и машинное обучение с конкретным предметом...»,
"место назначения": "IBMhttps://www.ibm.com \u00e2\u0080\u00a темы \u00e2\u0080\u00a наука о данных",
"позиция": 1,
"postDate": "",
"заглавие": «Что такое наука о данных?»,
"URL": "https://www.ibm.com/topics/data-science"
},
{
"описание": «Специалисты по данным изучают, на какие вопросы нужно ответить и где найти соответствующие данные. Они обладают деловой хваткой и аналитическими навыками, а также ...»,
"место назначения": «Калифорнийский университет в Берклиhttps://ischoolonline.berkeley.edu \u00e2\u0080\u00a Наука о данных»,
"позиция": 2,
"postDate": "",
"заглавие": «Что такое наука о данных? — Калифорнийский университет в Беркли онлайн»,
"URL": "https://ischoolonline.berkeley.edu/data-science/what-is-data-science/"
},
{
"описание": «Специалист по данным — это профессионал, который создает программный код и объединяет его со статистическими знаниями для создания аналитических заключений на основе данных».,
"место назначения": "Википедияhttps://en.wikipedia.org\u00e2\u0080\u00ba wiki\u00e2\u0080\u00ba Data_science",
"позиция": 3,
"postDate": "",
"заглавие": «Наука о данных»,
"URL": "https://en.wikipedia.org/wiki/Data_science"
},
{
"описание": «Обязанности специалиста по анализу данных могут включать разработку стратегий анализа данных, подготовку данных для анализа, исследование, анализ и визуализацию данных, ...»,
"место назначения": "Oraclehttps://www.oracle.com \u00e2\u0080\u00a что такое наука о данных",
"позиция": 4,
"postDate": "",
"заглавие": «Что такое наука о данных?»,
"URL": "https://www.oracle.com/what-is-data-science/"
},
{
"описание": «1 августа 2023 г. \u00e2\u0080\u0094 Наука о данных — это область исследований, которая занимается обработкой огромных объемов данных с использованием современных инструментов и методов для поиска невидимых закономерностей, выведения ...»,
"место назначения": "Simplilearn.comhttps://www.simplilearn.com \u00e2\u0080\u00a учебник по науке о данных",
"позиция": 5,
"postDate": "",
"заглавие": «Что такое наука о данных? Простое объяснение и многое другое»,
"URL": "https://www.simplilearn.com/tutorials/data-science-tutorial/what-is-data-science"
},
{
"описание": «15 июня 2023 г. \u00e2\u0080\u0094 Специалист по анализу данных использует данные для понимания и объяснения явлений вокруг них, а также помогает организациям принимать более обоснованные решения».,
"место назначения": "Courserahttps://www.coursera.org \u00e2\u0080\u00a Статьи Coursera \u00e2\u0080\u00a Данные",
"позиция": 6,
"postDate": "",
"заглавие": «Кто такой специалист по обработке данных? Зарплата, навыки и как ...»,
"URL": "https://www.coursera.org/articles/что-такое-ученый-по-данным"
},
{
"описание": «Наука о данных — это сочетание математики, статистики, машинного обучения и компьютерных наук. Наука о данных занимается сбором, анализом и интерпретацией данных для ...»,
"место назначения": "Отличное обучениеhttps://www.mygreatlearning.com \u00e2\u0080\u00a блог \u00e2\u0080\u00a что-такое-да...",
"позиция": 7,
"postDate": "",
"заглавие": «Что такое наука о данных?: руководство для начинающих»,
"URL": "https://www.mygreatlearning.com/blog/what-is-data-science/"
},
{
"описание": «Специализации и курсы по науке о данных обучают основам интерпретации данных, проведения анализа, а также пониманию и передаче практических рекомендаций...»,
"место назначения": "Courserahttps://www.coursera.org \u00e2\u0080\u00a просмотр \u00e2\u0080\u00a data-science",
"позиция": 8,
"postDate": "",
"заглавие": «Лучшие онлайн-курсы по науке о данных [2023]»,
"URL": "https://www.coursera.org/browse/data-science"
},
{
"описание": «5 апреля 2023 г. \u00e2\u0080\u0094 Наука о данных — это междисциплинарная область исследований, которая применяет методы и инструменты для получения значимой информации и практических идей...»,
"место назначения": «Встроеннаяhttps://builtin.com \u00e2\u0080\u00a наука о данных»,
"позиция": 9,
"postDate": "",
"заглавие": «Что такое наука о данных? Полное руководство».,
"URL": "https://builtin.com/data-science"
}
],
"snackPack": {
"mapLink": "",
"moreLocationsLink": "",
"полученные результаты": []
}
},
"исходный_статус": 200,
"статус_ПК": 200,
"URL": "https://www.google.com/search?q=data%20science"
}

Вышеприведенный вывод показывает, что скрапер «google-serp» выполняет свою работу очень эффективно. Он собирает всю важную информацию, включая 9 результатов поиска со связанной страницы поиска Google, и дает нам объект JSON, который мы можем легко использовать в нашем коде в соответствии с требованиями.

Легкое управление пагинацией

Когда дело доходит до парсинга страниц поиска Google, освоение пагинации имеет важное значение для сбора исчерпывающих данных. Crawlbase Скребок «google-serp» предоставляет ценную информацию в своем ответе JSON: общее количество результатов, известное как «numberOfResults». Эта информация служит нашей путеводной звездой для эффективной обработки пагинации.

Ваш скрапер должен ловко перемещаться по различным страницам результатов, скрытых в пагинации, чтобы захватить все результаты поиска. Вы будете использовать параметр запроса «start», чтобы сделать это успешно, отражая методологию Google. Google обычно отображает девять результатов поиска на странице, создавая постоянный промежуток в девять результатов между каждой страницей, как показано ниже:

Определение правильного значения параметра запроса «start» заключается в увеличении позиции последнего объекта «searchResults» из ответа и добавлении его к предыдущему значению start. Вы будете продолжать этот процесс до тех пор, пока не достигнете желаемого количества результатов или пока не соберете максимальное количество доступных результатов. Этот систематический подход гарантирует сбор ценных данных, что позволяет вам извлекать всестороннюю информацию из страниц поиска Google.

Давайте обновим пример кода для обработки пагинации и извлечения всех продуктов:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
от база сканирования Импортировать CrawlingAPI
Импортировать JSON

# Инициализируем Crawling API с вашей Crawlbase Обычный токен
api = CrawlingAPI({ токен: 'CRAWLBASE_NORMAL_TOKEN' })

# URL страницы поиска Google, которую вы хотите скопировать
google_search_url = «https://www.google.com/search?q=data+science»

# вариантов для Crawling API
варианты = {
«скребок»: 'google-serp'
}

# Список для хранения извлеченных результатов поиска
результаты_поиска = []

защиту получить_всего_результатов(URL):
# Сделайте запрос на очистку страницы поиска Google с параметрами
ответ = api.get(url, параметры)

# Проверьте, был ли запрос успешным
if ответ['status_code'] == 200 и ответ["заголовки"]['статус_ПК'] == '200':
# Загрузка JSON из тела ответа после декодирования байтовых данных
response_json = json.loads(ответ['тело'].decode('латинский1'))

# Получение результатов скрапера
scraper_result = response_json['тело']

# Извлечь информацию о пагинации
numberOfResults = scraper_result.get("numberOfResults", Ничто)
возвращают количествоРезультатов
еще:
Распечатать(«Не удалось получить страницу. Код статуса:», ответ['status_code'])
возвращают Ничто

защиту результаты_поиска_скрейпа(URL):
# Сделайте запрос на очистку страницы поиска Google с параметрами
ответ = api.get(url, параметры)

# Проверьте, был ли запрос успешным
if ответ['status_code'] == 200 и ответ["заголовки"]['статус_ПК'] == '200':
# Загрузка JSON из тела ответа после декодирования байтовых данных
response_json = json.loads(ответ['тело'].decode('латинский1'))

# Получение результатов скрапера
scraper_result = response_json['тело']

# Извлечение результатов поиска из ответа JSON
результаты = scraper_result.get("Результаты поиска", [])
search_results.extend(результаты)

еще:
Распечатать(«Не удалось получить страницу. Код статуса:», ответ['status_code'])

# Извлечь информацию о пагинации
numberOfResults = получить_всего_результатов(google_search_url) or 50
# Инициализируем начальную позицию для search_results
начальное_значение = 1

# ограничение результатов поиска до 50 для примера
# вы можете увеличить лимит до numberOfResults, чтобы извлечь максимальное количество результатов поиска
в то время как начальное_значение 50:
if начальное_значение > число_результатов:
перерыв
URL_страницы = f'{google_search_url}&старт={начальное_значение}'
scrape_search_results(страница_url)
начальное_значение = начальное_значение + результаты_поиска[-1]['должность'] + 1

# Обрабатывать собранные результаты поиска по мере необходимости
Распечатать(f'Всего результатов поиска: {только(результаты_поиска)}')

Пример вывода:

1
Всего результатов поиска: 47

Как вы можете видеть выше, теперь у нас 47 результатов поиска, что намного больше, чем то, что было раньше. Вы можете обновить лимит в коде (установить 50 для примера) и можете извлечь любое количество результатов поиска в диапазоне количества доступных результатов.

Сохранение данных в базе данных SQLite

После того, как вы успешно извлекли результаты поиска Google с помощью Crawlbase API, вы можете захотеть сохранить эти данные для дальнейшего анализа или использовать их в своих приложениях. Один из эффективных способов хранения структурированных данных, таких как результаты поиска, — это использование базы данных SQLite, которая является легкой, самодостаточной и простой в работе в Python.

Вот как можно сохранить URL-адрес, заголовок, описание и положение каждого объекта результата поиска в базе данных SQLite:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Импортировать sqlite3
от база сканирования Импортировать CrawlingAPI
Импортировать JSON

защиту scrape_google_search():
# Инициализируем Crawling API с вашей Crawlbase Обычный токен
api = CrawlingAPI({токен: 'CRAWLBASE_NORMAL_TOKEN'})

# URL страницы поиска Google, которую вы хотите скопировать
google_search_url = «https://www.google.com/search?q=data+science»

# Варианты для Crawling API
варианты = {
«скребок»: 'google-serp'
}

# Список для хранения извлеченных результатов поиска
результаты_поиска = []

защиту получить_всего_результатов(URL):
# Сделайте запрос на очистку страницы поиска Google с параметрами
ответ = api.get(url, параметры)

# Проверьте, был ли запрос успешным
if ответ['status_code'] == 200 и ответ["заголовки"]['статус_ПК'] == '200':
# Загрузка JSON из тела ответа после декодирования байтовых данных
response_json = json.loads(ответ['тело'].decode('латинский1'))

# Получение результатов скрапера
scraper_result = response_json['тело']

# Извлечь информацию о пагинации
numberOfResults = scraper_result.get("numberOfResults", Ничто)
возвращают количествоРезультатов
еще:
Распечатать(«Не удалось получить страницу. Код статуса:», ответ['status_code'])
возвращают Ничто

защиту результаты_поиска_скрейпа(URL):
# Сделайте запрос на очистку страницы поиска Google с параметрами
ответ = api.get(url, параметры)

# Проверьте, был ли запрос успешным
if ответ['status_code'] == 200 и ответ["заголовки"]['статус_ПК'] == '200':
# Загрузка JSON из тела ответа после декодирования байтовых данных
response_json = json.loads(ответ['тело'].decode('латинский1'))

# Получение результатов скрапера
scraper_result = response_json['тело']

# Извлечение результатов поиска из ответа JSON
результаты = scraper_result.get("Результаты поиска", [])
search_results.extend(результаты)

еще:
Распечатать(«Не удалось получить страницу. Код статуса:», ответ['status_code'])

защиту инициализировать_базу_данных():
# Создать или подключиться к базе данных SQLite
conn = sqlite3.подключить('search_results.db')
курсор = conn.cursor ()

# Создать таблицу для хранения результатов поиска
курсор.выполнить('' 'Окно выдачи
СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ search_results (
заголовок ТЕКСТ,
URL-адрес ТЕКСТА,
описание ТЕКСТ,
позиция ЦЕЛОЕ ЧИСЛО
)
'' 'Окно выдачи)

# Зафиксировать изменения и закрыть соединение с базой данных
конн.коммит()
conn.close ()

защиту вставить_результаты_поиска(список_результатов):
# Создать или подключиться к базе данных SQLite
conn = sqlite3.подключить('search_results.db')
курсор = conn.cursor ()

# Пройти по result_list и вставить данные в базу данных
для результат in список_результатов:
заголовок = результат.получить('заглавие', '')
url = результат.получить('URL-адрес', '')
описание = результат.получить('описание', '')
позиция = результат.получить('должность', Ничто)

курсор.выполнить(«ВСТАВИТЬ В search_results ЗНАЧЕНИЯ (?, ?, ?, ?)»,
(название, URL, описание, позиция))

# Зафиксировать изменения и закрыть соединение с базой данных
конн.коммит()
conn.close ()

# Инициализация базы данных
инициализировать_базу_данных()

# Извлечь информацию о пагинации
numberOfResults = получить_всего_результатов(google_search_url) or 50
# Инициализируем начальную позицию для search_results
начальное_значение = 1

# ограничение результатов поиска до 50 для примера
# вы можете увеличить лимит до numberOfResults, чтобы извлечь максимальное количество результатов поиска
в то время как начальное_значение 50:
if начальное_значение > число_результатов:
перерыв
URL_страницы = f'{google_search_url}&старт={начальное_значение}'
scrape_search_results(страница_url)
начальное_значение = начальное_значение + результаты_поиска[-1]['должность'] + 1

# сохранить search_results в базу данных
вставить_результаты_поиска(результаты_поиска)

if __имя__ == "__основной__":
scrape_google_search()

В приведенном выше коде scrape_google_search() Функция является точкой входа. Она инициализирует Crawlbase API с токеном аутентификации и указывает URL поиска Google, который будет извлечен. Он также устанавливает пустой список, называемый search_results для сбора извлеченных результатов поиска.

The scrape_search_results(url) Функция принимает URL в качестве входных данных, отправляет запрос Crawlbase API для получения страницы результатов поиска Google и извлечения соответствующей информации из ответа. Затем он добавляет эти данные в search_results .

Две другие ключевые функции: initialize_database() и insert_search_results(result_list), заниматься управлением базой данных SQLite. initialize_database() функция отвечает за создание или подключение к файлу базы данных с именем search_results.db и определение структуры таблицы для хранения результатов поиска. insert_search_results(result_list) Функция вставляет извлеченные результаты поиска в эту таблицу базы данных.

Скрипт также обрабатывает пагинацию, непрерывно отправляя запросы на последующие страницы результатов поиска. Максимальный лимит для результатов поиска установлен на 50 для этого примера. Собранные данные, включая заголовки, URL-адреса, описания и позиции, затем сохраняются в базе данных SQLite, которую мы можем использовать для дальнейшего анализа.

search_results Предварительный просмотр базы данных:

Скриншот базы данных

7. Соберите результаты поиска Google с помощью Crawlbase

Веб-скрапинг — это преобразующая технология, которая позволяет нам извлекать ценные сведения из огромного океана информации в Интернете, при этом страницы поиска Google являются основным источником данных. Этот блог провел вас по всеобъемлющему пути в мир веб-скрапинга, используя Python и Crawlbase Crawling API как наши верные спутники.

Мы начали с понимания значимости веб-скрапинга, раскрывая его потенциал для оптимизации сбора данных, повышения эффективности и информирования о принятии решений на основе данных в различных областях. Затем мы представили Crawlbase Crawling API— надежный и удобный инструмент, специально разработанный для веб-скрапинга, подчеркивающий его масштабируемость, надежность и доступ к данным в режиме реального времени.

Мы рассмотрели основные предварительные условия, включая настройку среды разработки, установку необходимых библиотек и создание Crawlbase аккаунт. Мы узнали, как получить токен, настроить API, выбрать идеальный парсер и эффективно управлять пагинацией для сбора полных результатов поиска.

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

Наши API продолжают работать с последними изменениями Google

8. Часто задаваемые вопросы (FAQ)

В. Каково значение веб-скрапинга страниц результатов поиска Google?

Веб-скрапинг результатов поиска Google имеет важное значение, поскольку он обеспечивает доступ к огромному количеству данных, доступных в Интернете. Google является основным шлюзом к информации, а скрапинг его результатов поиска позволяет использовать его в различных приложениях, включая маркетинговые исследования, анализ данных, анализ конкурентов и агрегацию контента.

В. Каковы основные преимущества использования парсера «google-serp»?

Скребок «google-serp» специально разработан для скрапинга страниц результатов поиска Google. Он предоставляет структурированный ответ JSON с важной информацией, такой как результаты поиска, реклама, связанные поиски и многое другое. Этот скрапер выгоден, поскольку он упрощает процесс извлечения данных, облегчая работу с собранными вами данными. Он также гарантирует, что вы захватите всю релевантную информацию с динамических страниц поиска Google.

Скрапинг результатов Google SERP не является незаконным. Однако вы должны соблюдать условия обслуживания Google. Лучше всего рассмотреть возможность использования API для жалоб, поскольку они обеспечивают структурированный доступ к данным в рамках этических норм.

В. Можно ли извлечь результаты Google Events?

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

В. Могу ли я использовать результаты Google Local?

Результаты Google Local определяются сочетанием релевантности и близости к пользователю. Например, поиск «кофейни» покажет близлежащие варианты вместе с указаниями. Эти результаты отличаются от Google Maps, которые фокусируются на расчетах маршрутов и поиске на основе местоположения. Извлечение результатов Google Local допустимо для личного или делового использования при условии соблюдения вами юридических требований.

В. Могу ли я скопировать результаты поиска Google Video?

Сбор общедоступных результатов Google Video, как правило, является законным, но необходимо соблюдать все применимые правила и положения. Извлечение метаданных, таких как заголовки видео, описания и URL-адреса, может быть полезным для различных целей. Однако, если вы планируете собирать большие объемы данных, разумно обратиться за юридической консультацией, чтобы избежать потенциальных проблем. Всегда отдавайте приоритет соблюдению правил при сборе общедоступной информации из Google.