Как скрейпить Booking.com, сайт, запущенный в 1996 году, стал значительным начинанием в мире путешествий и размещения. Миллионы людей используют его для планирования своих поездок, поскольку он известен своей простотой использования. На этой платформе можно делать многое, например, бронировать отели, искать жилье для отпуска, а также приобретать авиабилеты и автомобили. На сайте легко ориентироваться, и он популярен среди путешественников, ищущих разные места для проживания по всему миру.

В этой записи блога мы рассмотрим, как использовать Crawlbase Crawling API и JavaScript для получения данных с Booking.com. Мы рассмотрим все, от получения отзывов и цен на отели до сбора подробных данных о местоположении. Основная идея — плавно пройти через трудности Booking.com и поделиться советами по эффективному скрапингу. Давайте исследуем мир веб-скрапинга и посмотрим, как Crawlbase Crawling API и JavaScript могут помочь нам извлечь полезные данные из Booking.com.

Содержание

Понимание структуры Booking.com

  • HTML-структура страниц Booking.com
  • Определение целевых элементов данных

Предварительные условия для скрапинга Booking.com

  • Основы JavaScript
  • Crawlbase Токен API
  • Настройка среды

Получение страницы результатов поиска Booking.com

Извлечение данных о недвижимости Booking.com

Обработка и хранение данных

  • Извлечение информации из данных
  • Очистка и преобразование данных
  • Сохранение данных в разных форматах

Обеспечение надежной очистки

  • Обработка ошибок и регистрация
  • Уважение к Robots.txt
  • Как избежать блокировок по IP и капч

Выводы

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

Понимание структуры Booking.com

HTML-структура Booking.com

HTML-структура страниц Booking.com

В этом разделе мы рассмотрим, как Booking.com организует свой контент с помощью HTML. Важно понимать объектную модель документа (DOM), чтобы эффективно извлекать информацию.

  • Обзор Booking.com DOM
    • Проверьте структуру сверху вниз.
    • Найдите основные HTML-теги и функции, формирующие страницу.
  • Соглашения об именовании классов и идентификаторов
    • Изучите важность имен классов и идентификаторов.
    • Получите информацию, используя эти идентификаторы элементов.
  • Вложенные элементы и отношения
    • Посмотрите, как элементы размещаются друг внутри друга.
    • Перемещайтесь по родительским и дочерним элементам для тщательного извлечения данных.

Определение целевых элементов данных

В этой части речь идет о том, какие именно данные вы хотите извлечь со страниц Booking.com.

  • Определение целей скрапинга
    • Опишите, какая информация вам нужна.
    • Поставьте четкие цели для эффективного парсинга.
  • Проверка элементов с помощью инструментов разработчика браузера
    • Используйте инструменты браузера для более детального изучения элементов.
    • Найдите и проверьте нужные вам данные.
  • Селекторы XPath и CSS для таргетинга
    • Знакомство с селекторами XPath и CSS.
    • Научитесь делать эффективные селекторы, чтобы получить именно то, что вам нужно.

Предварительные условия для скрапинга Booking.com

Основы JavaScript

Прежде чем начать веб-скрапинг на Booking.com, важно знать некоторые основы JavaScript, языка программирования, который мы будем использовать. Ознакомьтесь с такими концепциями, как манипуляция DOM, которая помогает нам взаимодействовать с различными частями веб-страницы, выполнение HTTP-запросов для получения данных и обработка асинхронных операций для более плавного кодирования. Знание этих основ будет действительно полезным при работе над нашим проектом.

Crawlbase Токен API

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

Сначала войдите в свой Crawlbase аккаунт на своем веб-сайте.

После входа в систему найдите страницу под названием «Документация по счету«внутри вашего Crawlbase панель приборов.

Crawlbase приборная панель

Найдите на этой странице код под названием «JavaScript token». Скопируйте этот код — это как секретный ключ, который гарантирует, что наш код сможет правильно общаться с Booking.com.

Теперь, когда у вас есть этот токен, вы готовы завершить настройку других частей нашего проекта по сбору данных Booking.com, чтобы он работал бесперебойно.

Настройка среды

Теперь, когда у нас все готово, давайте настроим инструменты, необходимые для нашего кода JavaScript. Выполните следующие шаги в указанном порядке:

  1. Создать папку проекта:

Откройте свой терминал и введите mkdir booking_scraper чтобы создать новую папку для вашего проекта. Вы можете назвать эту папку как хотите.

mkdir booking_scraper

  1. Перейдите в папку проекта:

Тип cd booking_scraper чтобы перейти в новую папку. Это поможет вам лучше управлять файлами проекта.

cd booking_scraper

  1. Создать файл JavaScript:

Тип touch scraper.js чтобы создать новый файл с именем scraper.js. Вы можете назвать этот файл по-другому, если хотите.

touch scraper.js

  1. Установите Crawlbase Пакет:

Тип npm install crawlbase для установки пакета под названием Crawlbase. Этот пакет важен для нашего проекта, так как он помогает нам взаимодействовать с Crawlbase Crawling API, что упрощает получение информации с веб-сайтов.

npm install crawlbase

Выполняя эти шаги, вы настраиваете базовую структуру для вашего проекта по скрапингу Booking.com. У вас будет выделенная папка, файл JavaScript для написания кода и необходимые Crawlbase инструмент, позволяющий сделать процесс очистки плавным и организованным.

Получение страницы результатов поиска Booking.com

После того, как вы получили учетные данные API и установили библиотеку Node.js для веб-скрейпинга, пришло время поработать над файлом «scraper.js». Теперь давайте выберем страницу результатов поиска Booking.com, которую вы хотите скрейпнуть. В этом примере мы сосредоточимся на Booking.com: Сан-Франциско, Калифорния – Результаты поиска.

Страница результатов поиска Booking.com

Для того, чтобы Crawlbase Crawling API работа, вам нужно настроить определенные параметры и конечные точки. Во-первых, убедитесь, что вы создали файл «scraper.js», как объяснялось ранее. Затем скопируйте и вставьте приведенный ниже скрипт в этот файл. Наконец, запустите скрипт в своем терминале с помощью команды «node scraper.js».

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Const { CrawlingAPI знак равно требовать('crawlbase');

Const crawlbaseToken = 'ВАШ_ТОКЕН_JS_CRAWL';
Const API = новый CrawlingAPI({ знак: crawlbaseToken });

Const URL-адрес страницы бронирования =
'https://www.booking.com/searchresults.html?ss=San+Francisco%2C+California%2C+United+States&checkin=2023-12-25&checkout=2023-12-31&group_adults=2&no_rooms=1&group_children=0&selected_currency=USD';

пчелы.получить(URL-адрес страницы бронирования).тогда(handleCrawlResponse).поймать(handleCrawlError);

функция handleCrawlResponse(ответ) {
if (ответ.код состояния === 200) {
консоль.журнал(ответ.тело);
}
}

функция handleCrawlError(ошибка) {
консоль.ошибка(ошибка);
}

HTML-ответ:

HTML-ответ от Booking.com

Извлечение данных о недвижимости Booking.com

В этом примере мы покажем вам, как извлечь информацию о свойствах со страницы результатов поиска Booking.com. Сюда входят такие данные, как миниатюрное изображение свойства, название, местоположение, рейтинг, отзывы и цены. Для этого мы воспользуемся двумя библиотеками JavaScript: cheerio, обычно используемой для веб-скрапинга, и fs, которая часто используется для операций с файловой системой.

Предоставленный код JavaScript использует библиотеку Cheerio для извлечения данных о свойствах со страницы результатов поиска Booking.com. Он считывает HTML-контент, который вы извлекли из «scraper.js» на предыдущем шаге, а затем обрабатывает его с помощью Cheerio и собирает такую ​​информацию, как название свойства, цена, рейтинг, отзывы и URL-адрес изображения. Скрипт проходит по каждому списку свойств и сохраняет данные в массиве JSON.

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
Const фс = требовать('фс');
Const Привет = требовать('привет');

Const htmlContent = fs.readFileSync('response-booking.html', 'Utf8');
Const $ = привет.загрузка(htmlContent);

Const allLocationData = [];

Const Выбор карты = '[data-testid="карта-имущества"]';

$(cardSelector).каждый((индекс, карточка) => {
Const текущаяКарта = $(карта);

Const извлечениеТекст = (селектор) => текущаяКарта.найдите(селектор).текст().отделка();

Const locationData = {
миниатюрами: текущаяКарта.найдите('[data-testid="изображение"]').Attr('источник'),
имя: извлечениеТекст('[data-testid="title"]'),
адрес: извлечениеТекст('[data-testid="адрес"]'),
roomType: извлечениеТекст('ul.ba51609c35 li.a6a38de85e div.abf093bdfe'),
рейтинг: извлечениеТекст('[data-testid="review-score"] div.a3b8729ab1.d86cee9b25'),
обзоре: извлечениеТекст('[data-testid="review-score"] div.abf093bdfe.f45d8e4c32'),
цена: извлечениеТекст('span[data-testid="цена-и-скидочная-цена"]'),
дополнительные сборы: извлечениеТекст('div[data-testid="налоги-и-сборы"]'),
наличиеСсылка: текущаяКарта.найдите('[data-testid="availability-cta-btn"]').Attr('href'),
};

allLocationData.протолкнуть.(местоположениеДанные);
});

Const jsonData = JSON.стягивать(всеДанныеМестоположения, нуль, 2);

консоль.журнал(jsonData);

фс.writeFileSync('allLocationData.json', jsonData, 'Utf8');

Ответ JSON:

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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
[
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/51805897.webp?k=6458c338a8618a66e1203b9368509f0a03c59cd8a013e1080c16624f7a7ac86a&o=",
"название": «Отель Зефир Сан-Франциско»,
"адрес": «Рыбацкая пристань, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.3",
"обзор": "4,398 отзывов",
"цена": "592 долл. США",
"дополнительные сборы": "+307 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/zephyr-san-francisco.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=1&hapos=1&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=130731601_0_2_0_0&highlighted_blocks=130731601_0_2_0_0&matching_block_id=130731601_0_2_0_0&sr_pri_blocks=130731601_0_2_0_0__59232&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/282380081.webp?k=2bcd1d5da151062d9f9adb95b3c9225141a4a7b62c3fd618c983d16df9c96447&o=",
"название": «Отель Club Quarters Embarcadero, Сан-Франциско»,
"адрес": «Финансовый район Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.0",
"обзор": "4,792 отзывов",
"цена": "554 долл. США",
"дополнительные сборы": "+91 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/club-quarters-san-francisco.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=2&hapos=2&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5606603_351865563_2_0_0&highlighted_blocks=5606603_351865563_2_0_0&matching_block_id=5606603_351865563_2_0_0&sr_pri_blocks=5606603_351865563_2_0_0__55404&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/400787750.webp?k=5bc44d6c9c6ba1ac836c699a6f255823a6fc6788b7f0e7071dd7e5a935cef716&o=",
"название": «Hyatt Regency San Francisco Downtown SOMA»,
"адрес": «Юнион-сквер, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.6",
"обзор": "3,705 отзывов",
"цена": "798 долл. США",
"дополнительные сборы": "+371 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/hyatt-regency-san-francisco-downtown-soma.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=3&hapos=3&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5847654_330503950_2_2_0&highlighted_blocks=5847654_330503950_2_2_0&matching_block_id=5847654_330503950_2_2_0&sr_pri_blocks=5847654_330503950_2_2_0__79806&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/328622199.webp?k=9cbeb95f2d71606582330c9824b55d7cd4f4b4f715e4159770c3fa4555ec05d5&o=",
"название": "гражданин М Сан-Франциско Юнион-сквер",
"адрес": «Юнион-сквер, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "9.0",
"обзор": "2,785 отзывов",
"цена": "683 долл. США",
"дополнительные сборы": "+112 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/citizenm-san-francisco-union-square.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=4&hapos=4&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=746893101_330715007_0_2_0&highlighted_blocks=746893101_330715007_0_2_0&matching_block_id=746893101_330715007_0_2_0&sr_pri_blocks=746893101_330715007_0_2_0__68320&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/474351488.webp?k=c4917bd9c11ccbd4472ee19f0a55faab64cfae5feb951fd2118685bb340dd066&o=",
"название": «Hilton San Francisco Financial District»,
"адрес": «Финансовый район Сан-Франциско»,
"roomType": "1 односпальная кровать",
"рейтинг": "7.5",
"обзор": "2,544 отзывов",
"цена": "824 долл. США",
"дополнительные сборы": "+136 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/hilton-san-francisco-financial-district.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=5&hapos=5&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5928433_119150907_2_2_0&highlighted_blocks=5928433_119150907_2_2_0&matching_block_id=5928433_119150907_2_2_0&sr_pri_blocks=5928433_119150907_2_2_0__82400&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/502202353.webp?k=cb01422930da1db428ad758f8d23abfe9c7b3acb0e922ab238bf60d173fd2720&o=",
"название": «Отель Westin St. Francis San Francisco на Юнион-сквер»,
"адрес": «Юнион-сквер, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.4",
"обзор": "1,494 отзывов",
"цена": "834 долл. США",
"дополнительные сборы": "+312 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/the-westin-st-francis.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=6&hapos=6&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5870739_381980475_0_10_0&highlighted_blocks=5870739_381980475_0_10_0&matching_block_id=5870739_381980475_0_10_0&sr_pri_blocks=5870739_381980475_0_10_0__83400&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/254588957.webp?k=214ed5a5376a419a4cf88b3e1c4a945a8bffafb07ed754afec4457d953c0cc58&o=",
"название": «Гранд Хаятт Сан-Франциско Юнион-сквер»,
"адрес": «Юнион-сквер, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.4",
"обзор": "1,795 отзывов",
"цена": "864 долл. США",
"дополнительные сборы": "+386 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/grand-hyatt-san-francisco.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=7&hapos=7&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=17306414_244542676_2_2_0&highlighted_blocks=17306414_244542676_2_2_0&matching_block_id=17306414_244542676_2_2_0&sr_pri_blocks=17306414_244542676_2_2_0__86400&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/346814573.webp?k=1e21941a79a9499a4905c95e4c02e0472973a240a56ecf62c2ae86ff68b4f9ed&o=",
"название": «Йотель Сан-Франциско»,
"адрес": «Центр Сан-Франциско, Сан-Франциско»,
"roomType": "1 полноценная кровать",
"рейтинг": "7.6",
"обзор": "1,134 отзывов",
"цена": "524 долл. США",
"дополнительные сборы": "+331 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/yotel-san-francisco.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=8&hapos=8&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=257494512_348184181_0_1_0&highlighted_blocks=257494512_348184181_0_1_0&matching_block_id=257494512_348184181_0_1_0&sr_pri_blocks=257494512_348184181_0_1_0__52360&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/228751512.webp?k=862c4a938912e472ab2af3028531968acd6364f23efd2e4ad9cf26496bcb45bb&o=",
"название": «Рыбацкая пристань Riu Plaza»,
"адрес": «Рыбацкая пристань, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.2",
"обзор": "10,997 отзывов",
"цена": "780 долл. США",
"дополнительные сборы": "+331 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/riu-plaza-fishermans-wharf.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=9&hapos=9&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5889124_268779679_2_1_0&highlighted_blocks=5889124_268779679_2_1_0&matching_block_id=5889124_268779679_2_1_0&sr_pri_blocks=5889124_268779679_2_1_0__77990&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/44519478.webp?k=a2d598606e789ca9929eaa5c2cbf4158767e4edd47faa64288255f49650fceea&o=",
"название": «Король Джордж»,
"адрес": «Юнион-сквер, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "7.6",
"обзор": "1,018 отзывов",
"цена": "501 долл. США",
"дополнительные сборы": "+82 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/king-george.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=10&hapos=10&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5625710_0_2_0_0&highlighted_blocks=5625710_0_2_0_0&matching_block_id=5625710_0_2_0_0&sr_pri_blocks=5625710_0_2_0_0__50122&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/38029026.webp?k=ed69b8656226a213a05d5fd86d0fe436a2683b71927fa525a42e03b215786e47&o=",
"название": «Отель Сан-Ремо»,
"адрес": «Северный пляж, Сан-Франциско»,
"roomType": "1 полноценная кровать",
"рейтинг": "7.8",
"обзор": "1,466 отзывов",
"цена": "501 долл. США",
"дополнительные сборы": "+82 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/san-remo.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=11&hapos=11&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5642402_130821570_0_0_0&highlighted_blocks=5642402_130821570_0_0_0&matching_block_id=5642402_130821570_0_0_0&sr_pri_blocks=5642402_130821570_0_0_0__50066&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/414643408.webp?k=38651a8075d3902970eb7996a450dba00bbdd1c593fb8297c031d687a8577d10&o=",
"название": «Kimpton Hotel Enso, отель IHG»,
"адрес": «Японский квартал, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.5",
"обзор": "146 отзывов",
"цена": "1,165 долл. США",
"дополнительные сборы": "+181 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/kimpton-hotel-enso.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=12&hapos=12&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5698601_256474456_2_2_0&highlighted_blocks=5698601_256474456_2_2_0&matching_block_id=5698601_256474456_2_2_0&sr_pri_blocks=5698601_256474456_2_2_0__116460&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/198255014.webp?k=8583d33cbc9f8e2a5807764a155d89d30e4fa9c7a63245f74b1f464a715099b1&o=",
"название": «Отель Кабуки, часть JdV by Hyatt»,
"адрес": «Японский квартал, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.4",
"обзор": "511 отзывов",
"цена": "1,552 долл. США",
"дополнительные сборы": "+496 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/miyako.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=13&hapos=13&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5617933_244917646_2_1_0&highlighted_blocks=5617933_244917646_2_1_0&matching_block_id=5617933_244917646_2_1_0&sr_pri_blocks=5617933_244917646_2_1_0__155163&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/130456067.webp?k=dca94ebfd08e34510c1a313b73c15f5425ef60d0ebaf8437351226ee6dd84ab4&o=",
"название": «Отель Сперо»,
"адрес": «Юнион-сквер, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.5",
"обзор": "156 отзывов",
"цена": "672 долл. США",
"дополнительные сборы": "+347 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/serrano.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=14&hapos=14&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=4744318_380205727_2_0_0&highlighted_blocks=4744318_380205727_2_0_0&matching_block_id=4744318_380205727_2_0_0&sr_pri_blocks=4744318_380205727_2_0_0__67248&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/170431725.webp?k=fc66325b805128c031587ce51ca589719ff817880666d9d63c7bc1fc0657daac&o=",
"название": «Отель Comfort Inn By the Bay в Сан-Франциско»,
"адрес": «Район Марина, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "7.6",
"обзор": "2,539 отзывов",
"цена": "707 долл. США",
"дополнительные сборы": "+116 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/comfort-inn-by-the-bay-san-francisco.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=15&hapos=15&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=29182407_332272638_2_1_0&highlighted_blocks=29182407_332272638_2_1_0&matching_block_id=29182407_332272638_2_1_0&sr_pri_blocks=29182407_332272638_2_1_0__70720&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/459610547.webp?k=bc66148b43561cce076838b8d8cd14d247da1870aa60c970c16c104a25d73477&o=",
"название": «Сан-Франциско Марриотт Юнион Сквер»,
"адрес": «Юнион-сквер, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.3",
"обзор": "711 отзывов",
"цена": "954 долл. США",
"дополнительные сборы": "+312 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/san-francisco-marriott-union-square.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=16&hapos=16&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=26301301_246425415_0_2_0&highlighted_blocks=26301301_246425415_0_2_0&matching_block_id=26301301_246425415_0_2_0&sr_pri_blocks=26301301_246425415_0_2_0__95400&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/514846206.webp?k=87e3746b8a8eb6789602b505f3a331b21048b6b7f01d2f07ee8bfd185bec2554&o=",
"название": «Митхила Сан-Франциско — коллекция SureStay от Best Western»,
"адрес": «Центр Сан-Франциско, Сан-Франциско»,
"roomType": "1 полноценная кровать",
"рейтинг": "7.0",
"обзор": "309 отзывов",
"цена": "431 долл. США",
"дополнительные сборы": "+70 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/mithila.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=17&hapos=17&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5599010_385047856_2_0_0&highlighted_blocks=5599010_385047856_2_0_0&matching_block_id=5599010_385047856_2_0_0&sr_pri_blocks=5599010_385047856_2_0_0__43130&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/20237235.webp?k=c58b885c82fb9e54ac743ac60a35d597dccbe0542b25e7d96b1897ae46d9a7da&o=",
"название": «Отель Фицджеральд Юнион-сквер»,
"адрес": «Юнион-сквер, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "7.2",
"обзор": "542 отзывов",
"цена": "384 долл. США",
"дополнительные сборы": "+62 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/fitzgerald-union-square.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=18&hapos=18&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5610203_175804938_0_1_0&highlighted_blocks=5610203_175804938_0_1_0&matching_block_id=5610203_175804938_0_1_0&sr_pri_blocks=5610203_175804938_0_1_0__38365&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/149539216.webp?k=ccf89b13212cd1d5b0b4910ef330ef0d05520b91160ea819a158cef331a9f4e9&o=",
"название": «Hyatt Centric Fisherman's Wharf, Сан-Франциско»,
"адрес": «Рыбацкая пристань, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.1",
"обзор": "1,596 отзывов",
"цена": "984 долл. США",
"дополнительные сборы": "+406 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/hyatt-fisherman-s-wharf.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=19&hapos=19&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=37440720_279640003_2_34_0&highlighted_blocks=37440720_279640003_2_34_0&matching_block_id=37440720_279640003_2_34_0&sr_pri_blocks=37440720_279640003_2_34_0__98400&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/448696840.webp?k=480c05959bf83975b4cbdcb6944d5cc49473fc1f1913c8dc5c8390500ec629ea&o=",
"название": «Сан-Франциско Марриотт Маркиз Юнион Сквер»,
"адрес": «Юнион-сквер, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.3",
"обзор": "2,241 отзывов",
"цена": "978 долл. США",
"дополнительные сборы": "+342 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/marriott-marquis-san-francisco.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=20&hapos=20&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=26287701_246425403_2_42_0&highlighted_blocks=26287701_246425403_2_42_0&matching_block_id=26287701_246425403_2_42_0&sr_pri_blocks=26287701_246425403_2_42_0__97800&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/196946858.webp?k=7a5ed59923e10f2cf07d3e0242df7d9bec8e9973c2042f721fb008aae6c3084a&o=",
"название": «Отель «Аргонавт», благородный отель»,
"адрес": «Рыбацкая пристань, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.7",
"обзор": "1,512 отзывов",
"цена": "1,115 долл. США",
"дополнительные сборы": "+399 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/argonaut-sf.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=21&hapos=21&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5893306_91459206_2_0_0&highlighted_blocks=5893306_91459206_2_0_0&matching_block_id=5893306_91459206_2_0_0&sr_pri_blocks=5893306_91459206_2_0_0__111520&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/234632942.webp?k=c5995a3ffd440e61e83a0beccc0314255a620dd5da8048bdf6163c30bb6b2b76&o=",
"название": «Holiday Inn San Francisco - Golden Gateway, отель IHG без курортного сбора»,
"адрес": «Ноб Хилл, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.1",
"обзор": "3,933 отзывов",
"цена": "766 долл. США",
"дополнительные сборы": "+128 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/holiday-inn-san-francisco-golden-gateway.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=22&hapos=22&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=18230006_246084052_2_0_0&highlighted_blocks=18230006_246084052_2_0_0&matching_block_id=18230006_246084052_2_0_0&sr_pri_blocks=18230006_246084052_2_0_0__76632&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/384114312.webp?k=877106673136038e4eddfeeaf1a0c84ac31222f205378fe86707d138cbf168c3&o=",
"название": «Beacon Grand, отель на Юнион-сквер»,
"адрес": «Юнион-сквер, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.7",
"обзор": "1,666 отзывов",
"цена": "752 долл. США",
"дополнительные сборы": "+326 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/sir-francis-drake.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=23&hapos=23&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=0_0_2_0_0&highlighted_blocks=0_0_2_0_0&matching_block_id=0_0_2_0_0&sr_pri_blocks=0_0_2_0_0__75179&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/112587297.webp?k=1a788bbf29849f71c6ea1164052c2fae36c7cdb4ce1b54577f7d8608ea8a791e&o=",
"название": «Фэрмонт Сан-Франциско»,
"адрес": «Ноб Хилл, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "8.0",
"обзор": "978 отзывов",
"цена": "1,352 долл. США",
"дополнительные сборы": "+467 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/the-fairmont-san-francisco-san-francisco-california.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=24&hapos=24&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=5651228_362247620_2_2_0&highlighted_blocks=5651228_362247620_2_2_0&matching_block_id=5651228_362247620_2_2_0&sr_pri_blocks=5651228_362247620_2_2_0__135200&from=searchresults#hotelTmpl"
},
{
"миниатюра": "https://cf.bstatic.com/xdata/images/hotel/square200/484392638.webp?k=1fa2872766abaf70f4b55f8873925c01c01eb0d421e24321994415b9fab64f0c&o=",
"название": «Хилтон Сан-Франциско Юнион-сквер»,
"адрес": «Юнион-сквер, Сан-Франциско»,
"roomType": "1 двуспальная кровать",
"рейтинг": "7.6",
"обзор": "1,867 отзывов",
"цена": "880 долл. США",
"дополнительные сборы": "+325 долларов США налоги и сборы",
"доступностьСсылка": "https://www.booking.com/hotel/us/hilton-san-francisco.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEZyAEM2AEB6AEB-AECiAIBqAIDuAKqp5CsBsACAdICJDc3OGZkNGYwLWZkNDMtNDJkZi1iMGY1LWM3Yjk1Y2ViNTMwONgCBeACAQ&aid=304142&ucfs=1&arphpl=1&checkin=2023-12-25&checkout=2023-12-31&dest_id=20015732&dest_type=city&group_adults=2&req_adults=2&no_rooms=1&group_children=0&req_children=0&hpos=25&hapos=25&sr_order=popularity&srpvid=2f554e54eaf700d5&srepoch=1703502505&all_sr_blocks=2985304_274558569_2_2_0&highlighted_blocks=2985304_274558569_2_2_0&matching_block_id=2985304_274558569_2_2_0&sr_pri_blocks=2985304_274558569_2_2_0__88000&from_sustainable_property_sr=1&from=searchresults#hotelTmpl"
}
]

Обработка и хранение данных

Обработка и хранение данных
  • Извлечение информации из данных

    После получения данных следующим шагом будет эффективное извлечение важной информации. Изучите такие методы, как регулярные выражения, библиотеки анализа DOM и расширенные методы анализа HTML. Адаптируйте свой подход к конкретной структуре Booking.com, чтобы гарантировать, что ваш скрапер может обрабатывать различные типы и структуры данных. Это гарантирует точность и полноту для глубокого анализа.

  • Очистка и преобразование данных

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

  • Сохранение данных в разных форматах

    После извлечения и очистки данных крайне важно выбрать правильный формат хранения. Изучите такие варианты, как JSON для гибкости, CSV для простоты и базы данных, такие как MySQL или MongoDB для мощности. Этот раздел выходит за рамки основ, предлагая идеи по оптимизации хранения данных для быстрого извлечения, эффективного запроса и поддержания целостности данных. Выбор правильного формата хранения имеет важное значение для долгосрочного использования и доступности ваших извлеченных данных.

Обеспечение надежной очистки

Обеспечение надежной очистки
  • Обработка ошибок и регистрация

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

  • Уважение к Robots.txt

    Соблюдение файла robots.txt веб-сайта важно для этичного парсинга и устойчивой стратегии. Изучите руководящие принципы, включая конкретные директивы, такие как те, что установлены Booking.com. Настройте свой парсер так, чтобы он следовал этим правилам не только по этическим причинам, но и для установления позитивных отношений с веб-сайтом, предотвращая запреты по IP и обеспечивая долгосрочный доступ к ценным данным.

  • Как избежать блокировок по IP и капч

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

Выводы

Это руководство предоставляет вам информацию и инструменты для извлечения данных из Booking.com с помощью JavaScript и Crawlbase Crawling API. Вы получаете различную информацию от Booking.com, например, сведения об объектах, например, их название, где они находятся, как они оценены, что говорят люди в отзывах, сколько они стоят, и небольшие изображения, называемые миниатюрами. Независимо от того, новичок ли вы в веб-скрапинге или уже немного разбираетесь, эти идеи помогут вам начать. Если вы хотите попробовать скрапинг на других онлайн-платформах, таких как Airbnb, Expedia, Hotels.com, у нас есть еще руководства, с которыми вам стоит ознакомиться.

Руководства по теме:

📜 Соскребайте объявления о продаже недвижимости Airbnb
📜 Собрать данные о ценах Airbnb
📜 Очистка Expedia с помощью JavaScript

Если у вас есть какие-либо вопросы или вам нужна помощь с вашими проектами по скрапингу, Crawlbase команда поддержки доступен 24/7. Не стесняйтесь обращаться к нам за советом, разъяснением или любой помощью, которая может вам понадобиться в вашем соскоб проектов.

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

Каковы недостатки использования API бронирования?

Использование API Booking имеет некоторые недостатки. Во-первых, он может не предлагать тот же доступ или функции, что и веб-сайт Booking.com. Изменения в работе API могут усложнить его интеграцию, и вам может потребоваться частое его обновление. Работа с аутентификацией и ключами API может быть сложной. У пользователей могут быть ограничения на объем данных, которые они могут использовать, и могут быть расходы, связанные с количеством запросов к API.

Какие инструменты/библиотеки можно использовать для парсинга Booking.com с помощью JavaScript?

Чтобы выполнить скрапинг Booking.com с помощью JavaScript, вы можете использовать различные инструменты и библиотеки. Некоторые популярные варианты: Puppeteer, Cheerio и Nightmare.js. Puppeteer — это headless-браузер, который позволяет автоматизировать взаимодействие, в то время как Cheerio — это легкая библиотека для анализа и обработки HTML. Nightmare.js объединяет функциональность Puppeteer и Cheerio. Эти инструменты позволяют автоматизировать процесс навигации по Booking.com, извлечения данных и обработки динамического контента, что упрощает скрапинг информации с веб-сайта с помощью JavaScript.

Могу ли я поделиться или продать полученные с Booking.com данные?

Нет, распространение или продажа полученных от Booking.com данных, скорее всего, является нарушением условий обслуживания Booking.com. Это также может быть незаконным и неэтичным. Обычно веб-сайты имеют политику против несанкционированного сбора данных и коммерческого использования их данных. Важно соблюдать условия и положения Booking.com и получить явное разрешение, если вы собираетесь использовать или делиться полученными данными в любых целях, кроме личного использования. Участие в такой деятельности без разрешения может привести к юридическим последствиям.

Как можно скопировать данные с Booking.com, не опасаясь блокировки?

Если вы хотите выполнить парсинг Booking.com без облицовочные блоки, вы можете использовать Crawlbase Crawling API. Этот API включает в себя вращающиеся прокси которые помогают контролировать частоту ваших запросов. С более чем 30+ геолокациями, Crawlbase Crawling API позволяет вам стратегически распределять ваши запросы. Кроме того, вы можете использовать решения ИИ для навигации по блокам и капчам. Важно поддерживать ваш код скрапинга в актуальном состоянии, чтобы обрабатывать любые изменения на веб-сайте. Crawlbase обеспечивает надежную инфраструктуру и постоянную поддержку для улучшения процесса парсинга и снижения вероятности блокировки.