Google ट्रेंड से डेटा को स्क्रैप करने के लिए पायथन और नाटककार का उपयोग करना कीवर्ड लोकप्रियता की एक विस्तृत परीक्षा और समय के साथ ट्रेंड शिफ्ट की निगरानी में सक्षम बनाता है। यह दृष्टिकोण विपणन विश्लेषिकी के लिए महत्वपूर्ण अंतर्दृष्टि प्रदान करता है।
कोड में डाइविंग से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित उपकरण स्थापित हैं:
आप PIP का उपयोग करके नाटककार स्थापित कर सकते हैं:
pip install playwright
एसिंक्रोनस कोड के साथ नाटककार का उपयोग करने के लिए, आपको Asyncio लाइब्रेरी की भी आवश्यकता होगी, जो डिफ़ॉल्ट रूप से पायथन 3.7+ में शामिल है।
हम Google ट्रेंड्स वेबसाइट को नेविगेट करने और ट्रेंड डेटा वाली CSV फ़ाइलों को डाउनलोड करने के लिए, एक शक्तिशाली ब्राउज़र ऑटोमेशन टूल, एक शक्तिशाली ब्राउज़र ऑटोमेशन टूल का उपयोग करेंगे। यह ट्यूटोरियल आपको पूरी प्रक्रिया के माध्यम से मार्गदर्शन करेगा।
सबसे पहले, यह सुनिश्चित करें कि नाटककार स्थापित है:
<पूर्व> <कोड> प्लेराइट इंस्टॉलयदि आप उन सभी ब्राउज़रों को स्थापित नहीं करना चाहते हैं जो आप केवल क्रोमियम ब्राउज़र को स्थापित करने के लिए इस कमांड का उपयोग करते हैं।
playwright install chromium
Google जैसे प्लेटफार्मों को स्क्रैप करते समय, जो सक्रिय रूप से बॉट गतिविधि का मुकाबला करते हैं, प्रॉक्सी का उपयोग करना आवश्यक है। प्रॉक्सी आईपी रोटेशन को सक्षम करता है, जिससे अवरुद्ध होने के जोखिम को कम करने में मदद मिलती है। हमारी स्क्रिप्ट में, हम अपने अनुरोधों को रूट करने के लिए निजी प्रॉक्सी का उपयोग करते हैं।
proxy = {
"server": "IP:PORT",
"username": "your_username",
"password": "your_password"
}
अपने प्रॉक्सी सर्वर से वास्तविक डेटा के साथ IP, पोर्ट, उपयोगकर्ता नाम और पासवर्ड को बदलें।
इस उदाहरण में, हम Google ट्रेंड पेज पर जाने से पहले किसी भी संभावित ब्लॉक को बायपास करने के लिए पहले Google.com पर नेविगेट करते हैं। यह सामान्य उपयोगकर्ता व्यवहार की नकल करने और पता लगाने से बचने के लिए किया जाता है।
इस कदम में Google द्वारा ध्वजांकित और अवरुद्ध होने से रोकने के लिए प्रारंभिक क्रियाएं शामिल हैं:
import asyncio
from playwright.async_api import Playwright, async_playwright
async def run(playwright: Playwright) -> None:
# प्रॉक्सी सेटिंग्स के साथ ब्राउज़र लॉन्च करना
browser = await playwright.chromium.launch(headless=False, proxy={
"server": "IP:PORT",
"username": "your_username",
"password": "your_password"
})
# एक नया ब्राउज़र संदर्भ बनाना
context = await browser.new_context()
# एक नया पेज खोलना
page = await context.new_page()
# सामान्य ब्राउज़िंग की नकल करने के लिए Google का दौरा करना
await page.goto("https://google.com")
अगला, सीधे Google ट्रेंड पेज पर नेविगेट करें जहां आवश्यक डेटा स्थित है। Google ट्रेंड सीधे CSV प्रारूप में डेटा डाउनलोड करने के लिए विकल्प प्रदान करता है, जो निष्कर्षण प्रक्रिया को सुविधाजनक बनाता है। डेटा डाउनलोड शुरू करने के लिए "डाउनलोड" बटन पर क्लिक करने की क्रिया को स्वचालित करें। यह मैनुअल हस्तक्षेप के बिना ट्रेंड डेटा के निष्कर्षण के लिए अनुमति देता है। एक बार "डाउनलोड" बटन दिखाई देने के बाद, स्वचालन को इसे क्लिक करने के लिए आगे बढ़ना चाहिए, CSV फ़ाइल के डाउनलोड को शुरू करना जिसमें आवश्यक ट्रेंड डेटा शामिल है।
# Google रुझानों के लिए नेविगेट करना
await page.goto("https://trends.google.com/trends/explore?q=%2Fg%2F11bc6c__s2&date=now%201-d&geo=US&hl=en-US")
# डाउनलोड बटन की प्रतीक्षा कर रहा है और इसे क्लिक कर रहा है
async with page.expect_download() as download_info:
await page.get_by_role("button", name="file_download").first.click()
# डाउनलोड को संभालना
download = await download_info.value
print(download.suggested_filename)
डाउनलोड की गई CSV फ़ाइल स्वचालित रूप से आपके स्थानीय डिवाइस पर एक निर्दिष्ट निर्देशिका में सहेजा जाता है।
# डाउनलोड की गई फ़ाइल को सहेजना
await download.save_as("/path/to/save/" + download.suggested_filename)
यहां Playright का उपयोग करके CSV फ़ाइल के रूप में Google ट्रेंड डेटा डाउनलोड करने के लिए पूरा कोड है:
import asyncio
import os
import re
from playwright.async_api import Playwright, async_playwright
async def run(playwright: Playwright) -> None:
# प्रॉक्सी सेटिंग्स के साथ ब्राउज़र लॉन्च करें
browser = await playwright.chromium.launch(headless=False, proxy={
"server": "IP:PORT",
"username": "your_username",
"password": "your_password"
})
# एक नया ब्राउज़र संदर्भ बनाएं
context = await browser.new_context()
# एक नया पृष्ठ खोलें
page = await context.new_page()
# पता लगाने से बचने के लिए Google पर जाएँ
await page.goto("https://google.com")
# Google ट्रेंड पर नेविगेट करें
await page.goto("https://trends.google.com/trends/explore?q=%2Fg%2F11bc6c__s2&date=now%201-d&geo=US&hl=en-US")
# डाउनलोड बटन पर क्लिक करें
async with page.expect_download() as download_info:
await page.get_by_role("button", name=re.compile(r"file_download")).first.click()
# डाउनलोड की गई फ़ाइल को सहेजें
download = await download_info.value
destination_path = os.path.join("path/to/save", download.suggested_filename)
await download.save_as(destination_path)
# संदर्भ और ब्राउज़र बंद करें
await context.close()
await browser.close()
async def main() -> None:
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
इस गाइड के बाद, आप कुशलता से ट्रेंड डेटा डाउनलोड कर सकते हैं, प्रॉक्सी रोटेशन का प्रबंधन कर सकते हैं, और बॉट सुरक्षा तंत्र को बायपास कर सकते हैं। प्रभावी अवरुद्ध परिहार के लिए, विश्वसनीय प्रॉक्सी सर्वर का उपयोग करना महत्वपूर्ण है। आवासीय प्रॉक्सी, जो गतिशील आईपी पते प्रदान करते हैं और रोटेशन कॉन्फ़िगरेशन की आवश्यकता नहीं होती है, अत्यधिक अनुशंसित हैं। वैकल्पिक रूप से, स्थैतिक आईएसपी प्रॉक्सी भी प्रभावी हैं; IPS की आवश्यक संख्या खरीदें और अपनी स्क्रिप्ट में नियमित IP रोटेशन सेट करें। या तो विकल्प अवरुद्ध और कैप्चा का न्यूनतम जोखिम सुनिश्चित करता है, तेजी से और चिकनी डेटा स्क्रैपिंग की सुविधा देता है।
टिप्पणियाँ: 0