Előző bejegyzésünkben megmutattuk, hogyan építhet fel egy hatékony, ingyenes webes adatkinyerő eszközt közvetlenül a Google Táblázatokban az Apps Script segítségével. Fantasztikus megoldás volt az adatgyűjtés automatizálására egyszerű weboldalakról. Azonban, ahogy sokan tapasztalták, a modern web bonyolult. Abban a pillanatban, amikor egy dinamikus e-kereskedelmi oldalt vagy egy botok elleni védelemmel ellátott portált próbál meg adatot kinyerni, az alapmegoldás falakba ütközik.
Ma áttörjük ezt a falat. Eredeti szkriptünket professzionális szintű adatkinyerő eszközzé fejlesztjük, amely képes kezelni a modern web kihívásait, mindezt úgy, hogy továbbra is kényelmesen kezelhet mindent a Google Táblázatából.
Tartalomjegyzék
- Miért hibáznak az egyszerű adatkinyerő eszközök? A modern web kihívásai
- A megoldás: A Bright Data Web Unlocker-je
- Bright Data vs. Apify: Professzionális nézőpont
- A továbbfejlesztett szkript: Hogyan működik?
- Hogyan állítsuk be és használjuk a továbbfejlesztett adatkinyerő eszközt?
- A forráskód
- Új üzleti lehetőségek nyílnak meg
- Összefoglalás: Miért változtat meg mindent ez a fejlesztés?
Miért hibáznak az egyszerű adatkinyerő eszközök? A modern web kihívásai
A weboldalak fejlődtek. Már nem csupán statikus oldalak. Amikor egy egyszerű adatkinyerő eszköz, mint az eredeti megoldásunk, elbukik, az általában az alábbi okok valamelyikére vezethető vissza:
- JavaScript által renderelt tartalom: Sok oldal először egy alapoldalt tölt be, majd JavaScriptet használ a tényleges tartalom (például árak vagy termékadatok) lekérésére és megjelenítésére. A Google
UrlFetchApp
gyakran csak a kezdeti, üres oldalt látja, kihagyva a szükséges adatokat. - Adatkinyerés elleni védelem: A visszaélések megelőzése és adataik védelme érdekében a weboldalak kifinomult védelmi mechanizmusokat alkalmaznak. A leggyakoribbak a következők:
- IP-cím blokkolása: Ha egy szerver túl sok kérést észlel egyetlen IP-címről (például a Google szervereiről), blokkolja azt.
- CAPTCHA-k: Az „Nem vagyok robot” teszteket arra tervezték, hogy megállítsák az automatizált szkripteket.
- Böngésző ujjlenyomat: A weboldalak ellenőrizhetik, hogy egy kérés automatizált szkripttől vagy valódi felhasználó böngészőjétől érkezik-e.
Ezt a harcot egyedül vívni állandó, frusztráló macska-egér játék. A megoldás egy olyan speciális szolgáltatás igénybevétele, amely már megoldotta ezeket a problémákat.
A megoldás: A Bright Data Web Unlocker-je
Itt jön képbe egy olyan szolgáltatás, mint a Bright Data. A Bright Data egy vezető webes adatplatform, amely biztosítja a nyilvános webes adatok megbízható eléréséhez szükséges infrastruktúrát. Ahelyett, hogy közvetlenül a Google-ből küldenénk kérést a célweboldalra, a Bright Data-nak küldjük el a kérésünket. Ezután hatalmas proxyhálózatukat és intelligens „Web Unlocker” technológiájukat használják a következőkre:
- Kérését egy valódi lakossági vagy mobil IP-címen keresztül irányítják, így az egy átlagos felhasználó kérésének tűnik.
- Automatikus CAPTCHA megoldás.
- Kezelik a böngésző ujjlenyomatokat és a sütiket.
- Újrapróbálják a sikertelen kéréseket, amíg azok sikerrel nem járnak.
Lényegében a Bright Data kezeli az összes bonyolult blokkolási problémát, biztosítva, hogy minden alkalommal megkapja a szükséges tiszta HTML-t.
Bright Data vs. Apify: Professzionális nézőpont
Amikor adatkinyerési megoldásokat keres, gyakran találkozik az Apify nevével. Ez egy hatékony platform, amely „Actorok” (előre elkészített adatkinyerő eszközök) piacterével rendelkezik, melyek közül sokat a közösség fejlesztett. Ez nagyszerű, de kevésbé tűnhet központosítottnak, mint egy olyan szolgáltatás, mint a Bright Data, amelyet én professzionálisabb, vállalati fókuszú szolgáltatásnak tartok.
Mindkét platform kínál testreszabott eszközöket, amelyek specifikus weboldalakról képesek adatot kinyerni és strukturált JSON adatokat visszaadni. Azonban az univerzális megközelítésünkhöz a Bright Data „Web Unlocker” eszközét használjuk. Ez egy általános célú eszköz, amely megbízhatóan visszaadja bármely URL teljes HTML tartalmát, maximális rugalmasságot biztosítva számunkra. Bár az Apify-nak vannak hatékony adatkinyerő eszközei specifikus oldalakhoz, nem kínál egyetlen, univerzális eszközt, mint a Web Unlocker, amelynek célja, hogy egyszerűen visszaadja a nyers HTML-t bármely URL-ről, függetlenül a védelemtől.
Véleményem szerint, bár mindkét szolgáltatás nagyszerű, a Bright Data-t robusztusabbnak és megbízhatóbbnak találom üzletkritikus feladatokhoz. Árazási modelljük is egyszerűbb. Az Apify „platform krediteken” alapuló előfizetési modellt használ, ami megnehezítheti a költségek előrejelzését. A Bright Data Pay-As-You-Go (fogyasztás alapú) csomagja körülbelül 1,50 dollárba kerül 1000 sikeres kérésenként. Ez az átláthatóság tökéletes a projektünkhöz, és integrációs és költségszempontból úgy gondolom, a Bright Data jobb ár-érték arányt kínál.
A Bright Data kiemelkedő funkciói
- Helyalapú célzás: Kéréseit úgy jelenítheti meg, mintha egy adott országból, államból vagy akár városból érkeznének. Ez elengedhetetlen a lokalizált tartalmak, például regionális árak, helyi keresési eredmények vagy bolti elérhetőség adatainak kinyeréséhez.
- Adatkinyerés Markdown formátumban: Az API a kinyert tartalmat közvetlenül tiszta Markdown formátumban is visszaadhatja. Ez hihetetlenül hatékony az adatok közvetlen AI modellekbe való betáplálásához vagy dokumentáció generálásához anélkül, hogy először bonyolult HTML-t kellene elemezni.
- Képernyőkép visszaadása: Kérhet vizuális képernyőképet a céloldalról. Ez felbecsülhetetlen értékű a vizuális ellenőrzéshez, annak archiválásához, hogy egy oldal hogyan nézett ki egy adott időpontban, vagy olyan problémák hibakereséséhez, ahol az elrendezés befolyásolja az adatokat.
- Egyéni sütik és fejlécek: Az API lehetővé teszi, hogy saját egyéni fejléceket és sütiket küldjön egy kéréssel. Ez egy fejlett funkció bejelentkezett felhasználói munkamenet vagy egy adott típusú böngésző szimulálására, hogy hozzáférjen olyan adatokhoz, amelyek hitelesítést vagy speciális böngészőbeállításokat igényelnek.
A továbbfejlesztett szkript: Hogyan működik?
Szkriptünk fejlődése messze túlmutat egyetlen API hívás cseréjén. Sokkal általánosabb célú és professzionálisabb eszközzé alakítottuk.
- Teljes munkafolyamat-fejlesztés: Bár a
UrlFetchApp
Bright Data-ra cserélése volt a fő változás a védett oldalak kezelésében, az egész munkafolyamatot továbbfejlesztettük. - Adatkinyerés közvetlenül a Táblázatokból indítva: A szkript mostantól egy kötött szkript, ami azt jelenti, hogy közvetlenül a Google Táblázatához van csatolva. Hozzáadtunk egy egyéni menüpontot, amely lehetővé teszi, hogy egyetlen kattintással elindítsa az egész folyamatot, sokkal gördülékenyebbé téve a felhasználói élményt.
- Bármilyen szöveg kinyerése, nem csak árak: Eltávolítottuk az összes ár-specifikus logikát. A szkript mostantól teljesen általános, képes bármilyen szöveges adatot kinyerni, amire rámutat, legyen az termékcím, készletállapot, felhasználói vélemény vagy hírcím.
- Több eredmény rögzítése egyetlen oldalról: A legjelentősebb funkcionális fejlesztés az, hogy több elemet is kinyerhet egyetlen oldalról. Ha a CSS-szelektora több elemre is illeszkedik (például egy kategóriaoldalon lévő összes terméknévre), a szkript mostantól mindet lekéri, és szépen elhelyezi mindegyiket egy külön oszlopban a táblázatában.
Ezek a változtatások egy egyszerű árkövetőből sokoldalú, robusztus adatkinyerő motorrá emelik a szkriptet, amelyet teljes egészében a Google Táblázatában kezelhet.
Technikai szempontból a következőképpen működik:
- Elveszi a cél URL-t, amelyről adatot szeretne kinyerni.
- Csomagolja azt egy kérésbe a Bright Data API felé.
- Tartalmazza a titkos API kulcsát a hitelesítéshez.
- Elküldi a kérést, és visszaadja a tiszta HTML-t, amelyet a Bright Data lekér.
Szkriptünk többi része többé-kevésbé változatlan marad!
Hogyan állítsuk be és használjuk a továbbfejlesztett adatkinyerő eszközt?
Az induláshoz egy egyszerű, egyszeri beállításra van szükség, hogy összekapcsolja Google Táblázatát a szükséges szkripttel és a Bright Data API-val. Kövesse ezeket a lépéseket, hogy elindítsa hatékony új adatkinyerő eszközét.
- Lépés: Hozza létre a Google Táblázatot és nyissa meg az Apps Scriptet
Először lépjen a Google Drive-jára, és hozzon létre egy új Google Táblázatot. Az új táblázat menüjéből navigáljon a Bővítmények > Apps Script menüpontra. Ez megnyitja a szkriptszerkesztőt egy új böngészőfülön, ahová az adatkinyerő eszköz kódját fogja elhelyezni. - Lépés: Telepítse az adatkinyerő kódot és a szükséges könyvtárat
- Illessze be az Apps Script kódot: Görgessen le a teljes szkript megtalálásához. Másolja ki a kódot, illessze be az imént megnyitott Apps Script szerkesztőbe, majd kattintson a „Mentés” ikonra.
- Adja hozzá a Cheerio könyvtárat: A szkript a Cheerio nevű könyvtárra támaszkodik, hogy hatékonyan olvassa és elemzi a HTML-t egy weboldalról, megkönnyítve a specifikus adatok kinyerését CSS-szelektort használva.
- A szkriptszerkesztő bal oldali menüjében kattintson a plusz ikonra (+) a „Könyvtárak” mellett.
- Egy szkriptazonosítót fog kérni. Ennek megtalálásához nyisson meg egy új lapot, és keressen rá a Google-ben a „Cheerio Apps Script” kifejezésre. Az első találat általában egy GitHub oldal, amely tartalmazza az azonosítót.
- Másolja ki a szkriptazonosítót a GitHub oldalról, térjen vissza a szkriptszerkesztőbe, és illessze be a Szkriptazonosító mezőbe. Kattintson a „Keresés” gombra.
- Válassza ki a legújabb elérhető verziót a legördülő menüből, majd kattintson a „Hozzáadás” gombra. A Cheerio mostantól sikeresen kapcsolódik a projektjéhez.
- Lépés: Konfigurálja a Bright Data API kapcsolatot
Szkriptünk kéréseket küld a Bright Data-nak, amely ezután az Ön nevében lekéri a HTML-t a célweboldalról, megkerülve az esetleges botok elleni rendszereket.- Szerezze be a Bright Data API kulcsát:
- Látogasson el a Bright Data weboldalára, és hozzon létre egy fiókot.
- Bejelentkezés után navigáljon a bal oldali menüben a „Proxies & Scraping Infrastructure” (Proxyk és adatkinyerési infrastruktúra) menüpontra. Kattintson a „Hozzáadás” gombra, és válassza a „Web Unlocker” lehetőséget.
- Be kell állítania egy „zónát”, amely az adatkinyerési feladatok konfigurációja. Az alapértelmezett beállítások a legtöbb weboldalhoz megfelelőek. Azonban, ha erősen védett oldalakat (úgynevezett „prémium domaineket”) szeretne adatot kinyerni, akkor engedélyeznie kell a prémium domainek beállítását a zónájához.
- Miután rákattint a „Hozzáadás” gombra a zóna létrehozásához, generálódik az API kulcsa és a Zóna azonosítója. Másolja ki mindkettőt.
- Hitelesítő adatok hozzáadása a szkripthez:
- Térjen vissza az Apps Script szerkesztőjébe.
- Illessze be az API kulcsot és a Zóna azonosítót a szkript tetején található megfelelő helyőrző változókba.
- Kattintson a „Projekt mentése” ikonra.
- Szerezze be a Bright Data API kulcsát:
- Lépés: Futtassa az adatkinyerő eszközt és adja meg az engedélyeket
Most már készen áll az adatkinyerés megkezdésére.- Frissítse a Google Táblázatát. Újratöltés után egy új egyéni menüpontot fog látni „Scraper” néven.
- A táblázatában illesszen be egy URL-t az A oszlopba, és a hozzá tartozó CSS-szelektort a B oszlopba.
- Kattintson a „Scraper” menüre, és válassza a „Run Scraper” (Adatkinyerő futtatása) lehetőséget.
- Engedélyezze a szkriptet: Az első futtatáskor a Google engedélyt fog kérni a szkript működéséhez.
- Egy „Engedélyezés szükséges” ablak fog felugrani. Kattintson az „Engedélyek áttekintése” gombra.
- Válassza ki Google fiókját. Lehet, hogy egy olyan képernyőt lát, amely szerint „A Google nem ellenőrizte ezt az alkalmazást.” Ez teljesen normális és várható, mivel a szkriptnek engedélyre van szüksége külső szolgáltatáshoz való csatlakozáshoz és a táblázat módosításához.
- Tekintse át és adja meg az összes szükséges engedélyt a folytatáshoz.
Most, hogy a beállítás befejeződött, bármikor futtathatja az adatkinyerő eszközt az egyéni menüből. A szkript végrehajtódik, és másodpercek alatt közvetlenül a táblázatába tölti az eredményeket.
A forráskód
Új üzleti lehetőségek nyílnak meg
Ezzel a felturbózott adatkinyerő eszközzel mostantól olyan hatékony üzleti automatizálási eszközöket építhet, amelyek korábban lehetetlenek voltak:
- Megbízható ár-összehasonlítás: Kövesse nyomon az árakat a nagy e-kereskedelmi platformokon, mint az Amazon vagy a Walmart, anélkül, hogy blokkolnák.
- Ingatlanajánlat-értesítések: Keressen több ingatlanportálon az Ön pontos kritériumainak megfelelő új hirdetéseket, és azonnal értesüljön.
- Ügyfélszerzés: Vonjon ki üzleti információkat védett online címtárakból, hogy célzott ügyféllistákat építsen.
- Hírek és márkafigyelés: Kövesse nyomon a híroldalakat, blogokat és fórumokat a márkájára, versenytársaira vagy iparági kulcsszavakra vonatkozó említésekért, hogy naprakész maradjon a trendekkel, és kezelje hírnevét.
- Versenytárs weboldalának figyelése: Tartsa szemmel versenytársai weboldalait bármilyen változás esetén – a finom szöveges frissítésektől a nagyobb átalakításokig –, és kapjon automatikus értesítést.
- Piaci és versenytárs elemzés: Naponta figyelje versenytársai termékkészleteit, új termékbevezetéseit vagy vásárlói véleményeit.
Összefoglalás: Miért változtat meg mindent ez a fejlesztés?
Az UrlFetchApp-ról Bright Data-ra váltva egyszerű eszközünket robusztus adatgyűjtő motorrá alakítottuk. A fő előnyök a következők:
- Megbízhatóság: Nincs több sikertelen kérés vagy hiányzó adat. Azt kapja, amit kér.
- Teljesítmény: Könnyedén kinyer adatokat dinamikus, JavaScript-alapú weboldalakról.
- Láthatatlanság: Könnyedén megkerüli a gyakori adatkinyerés elleni védelmeket.
- Egyszerűség: Minden bonyolultságot a Bright Data kezel, miközben Ön továbbra is egy egyszerű Google Táblázatból irányít mindent.
Mostantól egy professzionális szintű webes adatkinyerési megoldás áll a rendelkezésére, amely új világot nyit meg az adatvezérelt automatizálási lehetőségek terén vállalkozása számára.