Node.js का उपयोग करके Google होटल की कीमतें कैसे स्क्रैप करें

Advanced Data Extraction Specialist
मौसमी परिवर्तन, मांग में उतार-चढ़ाव और प्रचार गतिविधियों के कारण होटल की कीमतें बार-बार बदलती रहती हैं। इन परिवर्तनों पर मैन्युअल रूप से नज़र रखना लगभग असंभव है। इसके बजाय, ट्रैवल वेबसाइटों और प्लेटफ़ॉर्म को स्क्रैप करके इस प्रक्रिया को स्वचालित करने से समय और प्रयास की बचत हो सकती है।
इस लेख में, हम आपको सबसे बड़े एग्रीगेटरों में से एक: Google से होटल की कीमतों को स्क्रैप करने का तरीका दिखाएंगे। Google के होटल डेटा को स्क्रैप करके, आप विश्लेषण, मूल्य तुलना या गतिशील मूल्य निर्धारण रणनीतियों के लिए होटल की कीमतों, रेटिंग और सुविधाओं के बारे में व्यापक जानकारी जल्दी से एकत्र कर सकते हैं।
Google होटल की कीमतें क्यों स्क्रैप करें?

जब आप होटल से संबंधित कीवर्ड खोजते हैं, तो Google एक समर्पित होटल अनुभाग उत्पन्न करता है जिसमें हजारों होटलों के नाम, चित्र, पते, रेटिंग और कीमतें शामिल होती हैं। ऐसा इसलिए है क्योंकि Google लाखों यात्रा और होटल वेबसाइटों की जानकारी को एक ही स्थान पर एकत्रित करता है।
यात्री, व्यवसाय और विश्लेषक विभिन्न उद्देश्यों के लिए इस डेटा का उपयोग कर सकते हैं:
- मूल्य तुलना: सर्वोत्तम सौदे खोजने के लिए विभिन्न बुकिंग प्लेटफ़ॉर्म और यात्रा वेबसाइटों पर कीमतों की तुलना करें।
- डेटा विश्लेषण: विश्लेषक मूल्य निर्धारण के रुझान, मौसमी उतार-चढ़ाव और प्रतिस्पर्धी अवसरों का पता लगाने के लिए होटल मूल्य डेटा का उपयोग कर सकते हैं।
- गतिशील मूल्य निर्धारण रणनीतियाँ: व्यवसाय मांग, उपलब्धता और प्रतियोगी कीमतों के आधार पर कीमतों को समायोजित करके राजस्व और अधिभोग दरों को अनुकूलित कर सकते हैं।
- कस्टम अलर्ट: ग्राहकों को अलर्ट करने या व्यक्तिगत उपयोग के लिए कीमतों में गिरावट की निगरानी करें।
- यात्रा एकत्रीकरण सेवाएँ: विभिन्न स्रोतों से होटल की कीमतों और विकल्पों का समेकित दृश्य प्रदान करें।
- बजट और योजना: यात्री आवास लागत का अनुमान लगा सकते हैं और तदनुसार अपनी योजनाओं को समायोजित कर सकते हैं।
संक्षेप में, इस डेटा के उपयोग व्यापक हैं, लेकिन इससे पहले कि आप अंतर्दृष्टि प्राप्त कर सकें, आपको इसे एकत्र करने की आवश्यकता है।
Node.js के साथ Google होटल की कीमतें कैसे स्क्रैप करें
इस ट्यूटोरियल में, हम न्यू यॉर्क में होटलों पर ध्यान केंद्रित करते हुए, होटल मूल्य निर्धारण डेटा एकत्र करने और होटल सूची को सबसे सस्ते से सबसे महंगे तक क्रमबद्ध करने के लिए एक स्क्रिप्ट लिखेंगे।
1. पूर्वापेक्षाएँ
इस ट्यूटोरियल का पालन करने के लिए, आपको अपने कंप्यूटर पर निम्नलिखित टूल स्थापित करने होंगे:
- Node.js 18+ और NPM
- JavaScript और Node.js API का बुनियादी ज्ञान
2. प्रोजेक्ट सेट अप करें
एक प्रोजेक्ट फ़ोल्डर बनाएँ:
mkdir google-hotel-scraper
अगला, निम्नलिखित कमांड चलाकर एक Node.js प्रोजेक्ट इनिशियलाइज़ करें:
cd google-hotel-scraper
npm init -y
यह कमांड फ़ोल्डर में एक package.json फ़ाइल बनाएगा। एक index.js फ़ाइल बनाएँ और एक साधारण JavaScript कथन जोड़ें:
touch index.js
echo "console.log('Hello world!');" > index.js
Node.js रनटाइम का उपयोग करके index.js फ़ाइल चलाएँ:
node index.js
यदि "Hello world!" टर्मिनल में प्रिंट किया जाता है, तो आपका प्रोजेक्ट चालू है।
3. आवश्यक निर्भरताएँ स्थापित करना
हमारा स्क्रैपर बनाने के लिए, हमें दो Node.js पैकेजों की आवश्यकता है:
- Puppeteer: Google होटल पृष्ठों को लोड करने और HTML सामग्री डाउनलोड करने के लिए।
- Cheerio: Puppeteer द्वारा डाउनलोड किए गए HTML से होटल की जानकारी निकालने के लिए।
निम्नलिखित कमांड के साथ इन पैकेजों को स्थापित करें:
npm install puppeteer cheerio
4. Google होटल पृष्ठ से स्क्रैप करने के लिए जानकारी की पहचान करना
वेबपेज से जानकारी निकालने के लिए, हमें पहले उन DOM सिलेक्टरों की पहचान करने की आवश्यकता है जो वांछित HTML तत्वों को लक्षित करते हैं।
यहाँ प्रासंगिक डेटा के प्रत्येक भाग के लिए DOM सिलेक्टरों की एक तालिका दी गई है:
जानकारी | DOM चयनकर्ता | विवरण |
---|---|---|
होटल कंटेनर | .uaTTDe |
परिणाम सूची में एकल होटल आइटम |
होटल का नाम | .QT7m7 > h2 |
होटल का नाम |
होटल की कीमत | .kixHKb > span |
एक रात के लिए कमरे की कीमत |
होटल के सितारे | .HlxIlc .UqrZme |
सितारों की संख्या |
होटल रेटिंग | .oz2bpb > span |
होटल के लिए ग्राहक समीक्षाएँ |
होटल विकल्प | .HlxIlc .XX3dkb |
अतिरिक्त सेवाएँ प्रदान की गईं |
होटल चित्र | .EyfHd .x7VXS |
होटल के चित्र |
5. Google होटल पृष्ठ को स्क्रैप करना
पहचाने गए DOM सिलेक्टरों के साथ, आइए पृष्ठ के HTML को डाउनलोड करने के लिए Puppeteer का उपयोग करें। हम जिस प्रारंभिक पृष्ठ को लक्षित कर रहे हैं वह है: https://www.google.com/travel/search।
कुछ देशों (मुख्य रूप से यूरोप में), URL पर रीडायरेक्ट करने से पहले एक सहमति पृष्ठ प्रदर्शित किया जाएगा। हम "सभी अस्वीकार करें" बटन पर क्लिक करने, तीन सेकंड प्रतीक्षा करने और यह सुनिश्चित करने के लिए कोड जोड़ेंगे कि Google होटल पृष्ठ पूरी तरह से लोड हो गया है।
निम्नलिखित कोड के साथ index.js फ़ाइल को अपडेट करें:
const puppeteer = require('puppeteer');
const PAGE_URL = 'https://www.google.com/travel/search';
const waitFor = (timeInMs) => new Promise(r => setTimeout(r, timeInMs));
const main = async () => {
const browser = await puppeteer.launch({ headless: 'new' });
const page = await browser.newPage();
await page.goto(PAGE_URL);
const buttonConsentReject = await page.$('.VfPpkd-LgbsSe[aria-label="Reject all"]');
await buttonConsentReject?.click();
await waitFor(3000);
const html = await page.content();
await browser.close();
console.log(html);
}
void main();
node index.js का उपयोग करके कोड चलाएँ। टर्मिनल पृष्ठ की HTML सामग्री का आउटपुट देगा।
6. HTML से जानकारी निकालना
हालांकि हमारे पास पृष्ठ का HTML है, कच्चे HTML से सीधे मूल्यवान डेटा निकालना चुनौतीपूर्ण है। यहीं पर Cheerio काम आता है।
निम्नलिखित कोड HTML लोड करता है और प्रत्येक होटल के लिए कमरे की कीमत निकालता है:
const cheerio = require("cheerio");
const $ = cheerio.load(html);
$('.uaTTDe').each((i, el) => {
const priceElement = $(el).find('.kixHKb span').first();
console.log(priceElement.text());
});
Cheerio के साथ सामग्री निकालने, इसे एक सरणी में संग्रहीत करने और इसे कीमत के अनुसार सबसे कम से सबसे अधिक तक क्रमबद्ध करने के लिए index.js फ़ाइल को अपडेट करें:
const cheerio = require("cheerio");
const puppeteer = require("puppeteer");
const { sanitize } = require("./utils");
const waitFor = (timeInMs) => new Promise(r => setTimeout(r, timeInMs));
const GOOGLE_HOTEL_PRICE = 'https://www.google.com/travel/search';
const main = async () => {
const browser = await puppeteer.launch({ headless: 'new' });
const page = await browser.newPage();
await page.goto(GOOGLE_HOTEL_PRICE);
const buttonConsentReject = await page.$('.VfPpkd-LgbsSe[aria-label="Reject all"]');
await buttonConsentReject?.click();
await waitFor(3000);
const html = await page.content();
await browser.close();
const hotelsList = [];
const $ = cheerio.load(html);
$('.uaTTDe').each((i, el) => {
const titleElement = $(el).find('.QT7m7 > h2');
const priceElement = $(el).find('.kixHKb span').first();
const reviewsElement = $(el).find('.oz2bpb > span');
const hotelStandingElement = $(el).find('.HlxIlc .UqrZme');
const options = [];
const pictureURLs = [];
$(el).find('.HlxIlc .XX3dkb').each((i, element) => {
options.push($(element).find('span').last().text());
});
$(el).find('.EyfHd .x7VXS').each((i, element) => {
pictureURLs.push($(element).attr('src'));
});
const hotelInfo = sanitize({
title: titleElement.text(),
price: priceElement.text(),
standing: hotelStandingElement.text(),
averageReview: reviewsElement.eq(0).text(),
reviewsCount: reviewsElement.eq(1).text(),
options,
pictures: pictureURLs,
});
hotelsList.push(hotelInfo);
});
const sortedHotelsList = hotelsList.slice().sort((hotelOne, hotelTwo) => {
if (!hotelTwo.price) {
return 1;
}
return hotelOne.price - hotelTwo.price;
});
console.log(sortedHotelsList);
}
void main();
कोड चलाएँ और परिणाम देखें। आपने अभी-अभी सभी होटलों की जानकारी एकत्रित की है।
पिछली सामग्री में, हमने Node.js और Puppeteer के माध्यम से Google होटल की कीमतों के क्रॉलिंग को लागू किया। हालाँकि यह विधि बुनियादी आवश्यकताओं को पूरा कर सकती है, लेकिन इसमें बहुत अधिक कोड लिखने की आवश्यकता होती है और जटिल एंटी-क्रॉलिंग तंत्र से निपटने पर कई चुनौतियों का सामना करना पड़ सकता है।
कार्य को अधिक कुशलतापूर्वक पूरा करने के लिए, हम एक सरल विधि की सिफारिश कर सकते हैं: Scrapeless Deep SerpAPI का उपयोग करना।
Google होटल की जानकारी क्रॉल करने के लिए Scrapeless Deep SerpApi का उपयोग करें
Deep SerpApi बड़े भाषा मॉडल (LLM) और AI एजेंटों के लिए डिज़ाइन किया गया एक समर्पित खोज इंजन है, जिसका उद्देश्य AI अनुप्रयोगों को डेटा को कुशलतापूर्वक पुनर्प्राप्त और संसाधित करने में मदद करने के लिए वास्तविक समय, सटीक और निष्पक्ष जानकारी प्रदान करना है।

यह डेवलपर्स को Google खोज इंजनों के 20 से अधिक विभिन्न परिदृश्यों के लिए परिणाम जल्दी से प्राप्त करने में मदद कर सकता है। यह कई पैरामीटर सेटिंग्स का समर्थन करता है, क्षेत्र, भाषा और डिवाइस के प्रकार के आधार पर खोजों को अनुकूलित कर सकता है, और डेवलपर्स के सीधे उपयोग के लिए संरचित JSON डेटा प्रदान करता है।

Deep SerpAPI के लाभ
-
सबसे कम कीमत: Deep SerpAPI की कीमत $0.1/k जितनी कम है। यह बाजार में सबसे कम कीमत है।
-
उपयोग में आसान: जटिल कोड लिखने की कोई आवश्यकता नहीं है, बस API कॉल के माध्यम से डेटा प्राप्त करें।
-
वास्तविक समय: प्रत्येक अनुरोध डेटा की समयबद्धता सुनिश्चित करने के लिए तुरंत नवीनतम खोज परिणाम वापस कर सकता है।
-
वैश्विक समर्थन: वैश्विक IP पतों और ब्राउज़र क्लस्टरों के माध्यम से, सुनिश्चित करें कि खोज परिणाम वास्तविक उपयोगकर्ताओं के अनुभव के अनुरूप हैं।
-
समृद्ध डेटा प्रकार: Google खोज, Google मानचित्र, Google खरीदारी, आदि जैसे 20 से अधिक खोज प्रकारों का समर्थन करता है।
-
उच्च सफलता दर: 99.995% तक सेवा उपलब्धता (SLA) प्रदान करता है।
Google होटल की जानकारी स्क्रैप करने के लिए Deep SerpAPI प्लेग्राउंड का उपयोग कैसे करें
Deep SerpAPI एक शक्तिशाली ऑनलाइन उपकरण, प्लेग्राउंड प्रदान करता है, जो डेवलपर्स को कोड लिखे बिना Google होटल की जानकारी को जल्दी से स्क्रैप करने की अनुमति देता है। प्लेग्राउंड एक दृश्य इंटरफ़ेस है जो सरल पैरामीटर सेटिंग्स और क्लिक संचालन के माध्यम से संरचित खोज परिणाम डेटा प्राप्त कर सकता है। Google होटल की जानकारी को स्क्रैप करने के लिए Deep SerpAPI प्लेग्राउंड का उपयोग करने के चरण इस प्रकार हैं।
Deep SerpAPI की API KEY कैसे प्राप्त करें:
- Scrapeless पर मुफ्त में साइन अप करने के बाद, आपको 20,000 मुफ्त खोज क्वेरी मिलती हैं।
- API कुंजी प्रबंधन पर जाएँ। फिर एक अद्वितीय API कुंजी उत्पन्न करने के लिए बनाएँ पर क्लिक करें। एक बार बन जाने के बाद, इसे कॉपी करने के लिए AP पर क्लिक करें।

1. साइन अप करें और प्लेग्राउंड तक पहुँचें
- खाता बनाएँ: यदि आपने पहले से नहीं किया है, तो Deep SerpAPI खाता बनाएँ।
- Deep SerpApi प्लेग्राउंड तक पहुँचें: एक बार लॉग इन करने के बाद, "Deep SerpApi" अनुभाग पर जाएँ।

2. खोज पैरामीटर सेट करें
- प्लेग्राउंड में, अपना खोज कीवर्ड दर्ज करें, जैसे "न्यू यॉर्क होटल"।
- अन्य पैरामीटर सेट करें, जैसे चेक-इन तिथि, चेक-आउट तिथि, देश, भाषा, आदि।

आप Google होटलों के मापदंडों के बारे में जानने के लिए आधिकारिक API दस्तावेज़ीकरण को देखने के लिए भी क्लिक कर सकते हैं।
3. खोज करें
- "खोज प्रारंभ करें" बटन पर क्लिक करें, और प्लेग्राउंड Deep Serp API को एक अनुरोध भेजेगा और संरचित JSON डेटा वापस करेगा।
- लौटाए गए डेटा में होटल का नाम, ब्रांड विवरण, मूल्य जानकारी, विवरण, रेटिंग, सुविधाएँ, आस-पास का स्थान, होटल रेटिंग आदि शामिल होंगे।

4. डेटा देखें और निर्यात करें
- प्रत्येक होटल के लिए विस्तृत जानकारी देखने के लिए लौटाए गए JSON डेटा को ब्राउज़ करें।
- यदि आवश्यक हो, तो आप आगे के विश्लेषण के लिए डेटा को CSV या JSON प्रारूप में निर्यात करने के लिए ऊपरी दाएँ कोने में "निर्यात" पर क्लिक कर सकते हैं।
5. अपने प्रोजेक्ट में एकीकृत करें
- यदि आपको अपने आवेदन में डेटा को एकीकृत करने की आवश्यकता है, तो Deep SerpAPI कई प्रोग्रामिंग भाषाओं के लिए लाइब्रेरी सपोर्ट प्रदान करता है, जिसमें Python, JavaScript, Ruby, PHP, Java, C#, C++, Swift, Go और Rust शामिल हैं।
नमूना कोड (Python)
import json
import requests
class Payload:
def __init__(self, actor, input_data):
self.actor = actor
self.input = input_data
def send_request():
host = "api.scrapeless.com"
url = f"https://{host}/api/v1/scraper/request"
token = "your_token"
headers = {
"x-api-token": token
}
input_data = {
"engine": "google_hotel",
q: query,
engine: 'google',
gl: 'us',
hl: 'en'
}
payload = Payload("scraper.google.hotel", input_data)
json_payload = json.dumps(payload.__dict__)
response = requests.post(url, headers=headers, data=json_payload)
if response.status_code != 200:
print("Error:", response.status_code, response.text)
return
print("body", response.text)
if __name__ == "__main__":
send_request()
Deep SerpAPI मूल्य निर्धारण योजना: किफायती और शक्तिशाली
Deep SerpAPI डेवलपर्स को Google खोज परिणाम पृष्ठ (SERP) डेटा जल्दी से प्राप्त करने में मदद करने के लिए एक किफायती समाधान प्रदान करता है। इसकी मूल्य निर्धारण योजना बहुत प्रतिस्पर्धी है, जिसकी कीमत प्रति 1,000 क्वेरी $0.1 जितनी कम है, जो Google के 20 से अधिक खोज परिणाम परिदृश्यों पर लागू होती है।
मुफ्त डेवलपर सहायता कार्यक्रम
Deep SerpAPI अब डेवलपर्स को अपने API को बेहतर ढंग से एकीकृत और उपयोग करने में मदद करने के लिए एक मुफ्त डेवलपर सहायता कार्यक्रम भी प्रदान करता है। कार्यक्रम का विवरण इस प्रकार है:
- एकीकरण समर्थन: अपने AI टूल, अनुप्रयोगों या प्रोजेक्ट्स में Deep SerpAPI को एकीकृत करें। हम पहले से ही Dify का समर्थन करते हैं, और जल्द ही Langchain, Langflow, FlowiseAI और अन्य फ्रेमवर्क का समर्थन करेंगे।
- मुफ्त समर्थन अवधि: एकीकरण के बाद, डेवलपर्स अपने परिणाम GitHub या सोशल मीडिया पर साझा करके 1-12 महीने का मुफ्त डेवलपर समर्थन प्राप्त कर सकते हैं।
- उपयोग कोटा: प्रति माह 500k उपयोग तक, डेवलपर्स को प्रोजेक्ट के शुरुआती चरणों में लागत के मुद्दों के बारे में चिंता करने में मदद करता है।

घटना में भागीदारी के बारे में जानने के लिए आप Discord में शामिल होकर Liam से संपर्क कर सकते हैं
निष्कर्ष
संक्षेप में, Node.js के साथ Google होटल की कीमतों को स्क्रैप करना मूल्य निर्धारण डेटा एकत्र करने के लिए एक मूल्यवान तरीका हो सकता है, लेकिन यह गतिशील सामग्री को संभालने और पता लगाने से बचने जैसी चुनौतियों के साथ आता है। जबकि Puppeteer या Playwright जैसे उपकरण मदद कर सकते हैं, उन्हें निरंतर रखरखाव और तकनीकी विशेषज्ञता की आवश्यकता होती है। प्रक्रिया को सुव्यवस्थित करने के लिए, हम Scrapeless का उपयोग करने की सलाह देते हैं, जो कुशलतापूर्वक और विश्वसनीय रूप से होटल मूल्य डेटा निकालने के लिए एक परेशानी मुक्त, बिना कोड वाला समाधान प्रदान करता है। Scrapeless के साथ, आप वेब स्क्रैपिंग की जटिलताओं के बजाय अंतर्दृष्टि पर ध्यान केंद्रित कर सकते हैं। आज ही इसे आज़माएँ और अपने डेटा संग्रह को सरल बनाएँ!
अतिरिक्त संसाधन
Python के साथ Google समाचार कैसे स्क्रैप करें
PowerShell के साथ Selenium का उपयोग कैसे करें
Scrapeless के साथ Google शॉपिंग से उत्पाद विवरण स्क्रैप करना
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।