29 पॉइंट द्वारा xguru 2021-11-29 | 12 टिप्पणियां | WhatsApp पर शेयर करें
<p>- अगर आप ऐसी कोई सर्विस बनाते हैं जो लाखों Google searches चलाती हो, तो ब्लॉक हुए बिना काम करने के लिए किसी विकल्प की ज़रूरत होगी<br /> - सबसे आसान तरीका paid proxy का इस्तेमाल है, लेकिन यह काफ़ी महंगा पड़ता है <br /> → इसलिए लेखक ने जो-जो तरीके आज़माए, उन्हें विस्तार से समझाने वाला यह एक दिलचस्प लेख है<br /> <br /> - शुरुआत में AWS Lambda + Puppeteer का इस्तेमाल किया गया <br /> → AWS दुनिया भर में 16 regions देता है, और Lambda को 3 बार चलाने पर नया IP assign हो जाता है <br /> → अगर 1000 Lambda एक साथ चलें, तो लगभग 250 public IP इस्तेमाल होते हैं<br /> → 16 regions * 250 यानी 4000 IP addresses, और यह साप्ताहिक लाखों Google searches चलाने के लिए काफ़ी है <br /> → GCP पर भी इसे आज़माया गया, लेकिन मज़ेदार बात यह है कि Google अपने ही cloud IPs को AWS की तुलना में ज़्यादा आक्रामक तरीके से ब्लॉक करता है<br /> → यह 2019~2020 के बीच की बात है, इसलिए अब बदल चुका हो सकता है <br /> <br /> - यह तरीका Google/Bing/Amazon जैसी साइटों को scrape करने में काम आ सकता है, लेकिन इसकी सीमाएँ हैं<br /> → अगर साइट DataDome, Akamai, Imperva जैसी anti-bot कंपनियों का इस्तेमाल करती है, तो यह तरीका लागू नहीं होता <br /> → वे browser fingerprinting के बहुत अलग-अलग तरीकों से यह पहचान लेते हैं कि सामने bot है या नहीं<br /> → Google Picasso, Font/TLS/WebGL Fingerprinting..<br /> → वास्तव में ज़्यादातर बड़े scraping services cloud + Docker containers का इस्तेमाल करती हैं, इसलिए उन्हें पहचानना आसान होता है<br /> <br /> - ऐसी scraping infrastructure जो detect करना मुश्किल हो और scale भी हो सके <br /> → scraping को सफल बनाने के लिए दो नियम <br /> 1. browser settings के बारे में झूठ मत बोलिए <br /> 2. सबसे ज़रूरी बात: browser settings के बारे में तभी झूठ बोलिए जब "किसी को ज़रा भी शक न हो"<br /> → इसके लिए निष्कर्ष यही है कि बस "real devices का इस्तेमाल" करना सबसे अच्छा है<br /> ⇨ अलग-अलग manufacturers से 500 सस्ते Android devices ख़रीदें और सस्ते data plans लें<br /> ⇨ उन्हें कई शहरों में distribute करें (antenna के पास)<br /> ⇨ DeviceFarmer/stf जैसे open source का इस्तेमाल करके devices को एक साथ control करें <br /> ⇨ Android Go जैसे lightweight OS इंस्टॉल करें, और हर 5 मिनट में airplane mode चालू कराएँ ताकि लगातार नया IP address मिलता रहे<br /> ⇨ "4G carrier grade NAT": IPv4 address exhaustion को रोकने के लिए बना तरीका, जिसमें एक IP को लाखों लोग share कर सकते हैं, इसलिए ब्लॉक करना लगभग असंभव है<br /> → लेकिन 500 Android devices ख़रीदने पड़ते हैं, उन्हें लगाने की जगह चाहिए, और hardware maintenance भी करनी पड़ती है — यानी काफ़ी झंझट है <br /> <br /> - सुधार: Android को emulate करना <br /> → Android devices ख़रीदने की बजाय Android-X8, Bluestacks, Android Studio Emulator आदि का इस्तेमाल किया जाए तो?<br /> → Proxidize 4G mobile proxy बनाने में मदद करता है<br /> → एक server में 50 4G dongles लगाए जाते हैं<br /> → हर server पर 50~100 Android devices emulate किए जाते हैं <br /> → ऐसे stations को 5 शहरों में लगाया जाता है <br /> → फिर किसी मज़बूत command से इन stations को manage किया जाता है </p>

12 टिप्पणियां

 
xguru 2021-12-06
<p>- बॉट डिटेक्शन को बायपास करना: ब्लॉक हुए बिना वेब स्क्रैपिंग कैसे करें https://hi.news.hada.io/topic?id=5304<br /> <br /> प्रॉक्सी, स्क्रैपिंग सर्विस, एंटी-बॉट सॉफ़्टवेयर आदि ऊपर दिए गए लेख में अच्छी तरह से संक्षेपित किए गए हैं।</p>
 
eajrezz 2021-12-06
<p>कमाल की हैकिंग है!</p>
 
joone 2021-12-04
<p>https://www.diffbot.com/products/crawl/<br /> <br /> crawl करके webpage scraping करने वाली सेवाएं भी हैं। scrape किए गए data को अनावश्यक जानकारी हटाकर json में store किया जाता है.</p>
 
benjamin 2021-11-29
<p>मुँह खुला का खुला रह गया...</p>
 
xguru 2021-11-29
<p>वैसे यह पूरी तरह अलग बात है.. <br /> <br /> https://serpapi.com/ जैसी जगहें भी हैं, जो Google search को API बनाकर बेचती हैं. <br /> लेकिन यहाँ Naver search को भी API बनाकर साथ में बेचते हैं, हाहा<br /> https://serpapi.com/naver-search-api<br /> <br /> महीने में 30,000 searches के लिए $250 — काफ़ी चौंकाने वाली? कीमत</p>
 
v08zbv8fvlkjasdflkj 2021-11-29
<p>क्या यह इसलिए चौंकाने वाला है क्योंकि यह बहुत महंगा है? मुझे ठीक से अंदाज़ा नहीं हो रहा।</p>
 
xguru 2021-11-29
<p>हाँ, यह काफ़ी महँगा है। पेड proxy इस्तेमाल करने वगैरह की तुलना में।<br /> लेकिन API होने की वजह से block होने की चिंता के बिना यह सुविधाजनक है</p>
 
hentol 2021-11-29
<p>घरेलू संदर्भ में देखें तो कुछ 0 yen budget फोन प्लान याद आते हैं जिनमें कुछ हद तक डेटा मिलता है...<br /> लेकिन बड़े पैमाने पर साइन-अप करना मुश्किल है, इसलिए यह भी कठिन होगा.</p>
 
xguru 2021-11-29
<p>Google Fi के मामले में, एक लाइन पर 4 अतिरिक्त data SIM तक जोड़े जा सकते हैं, इसलिए यह भी एक तरीका हो सकता है</p>
 
nallwhy 2021-11-29
<p>पहले जब naver की किसी चीज़ को scrape कर रहा था<br /> तो याद है कि AWS lambda पर यह नहीं चल रहा था, लेकिन GCP functions पर चल रहा था,<br /> मुझे लगा था कि शायद IP range खुली होने की वजह से ऐसा है, लेकिन लगता है कि ऐसा भी नहीं है।</p>
 
honore 2021-11-29
<p>मैं पहले से ही इसे पहले तरीके से कर रहा था, इसलिए देख रहा था कि और कौन-से तरीके हैं.. यह तो मैंने सोचा भी नहीं था.</p>
 
xguru 2021-11-29
<p>असल में, अगर Lambda+Puppeteer वाले पहले तरीके को भी उसी तरह किया जाए तो वह भी ठीक लग सकता है.<br /> लेकिन अंत में दिए गए Proxidize तरीके से तुलना करें तो, शायद scraping के scale के अनुसार लागत में फर्क पड़ेगा.<br /> जितनी अधिक बड़े पैमाने की जरूरत होगी, Proxidize उतना ही स्थिर होगा, लेकिन इसे सरलता से करने के लिए पहला तरीका भी बुरा नहीं लगता. <br /> <br /> अंत में परिचय कराया गया https://proxidize.com/ दिलचस्प है. <br /> यह एक hardware+software solution है, जो आपको खुद 4G mobile proxy बनाकर उसे manage करने देता है.<br /> 5-dongle version $399 का है. उनके user country list में Korea भी दिख रहा है, तो शायद इसका उपयोग संभव होगा?<br /> <br /> हालांकि यह CGNAT तक नहीं जाता, लेकिन software proxies के पूरे pool को manage करने वाला Scrapoxy जैसा solution भी है.<br /> - Scrapoxy - वेब crawler के लिए proxy pool management tool https://hi.news.hada.io/topic?id=2308</p&gt;