Hogyan lehet a Javascript által megjelenített webhelyeket lekaparni a Python segítségével & amp; Szelén

Ebben az útmutatóban:

A tanulási törekvésem során végül szerettem volna írni kezdőbarát útmutatókat, amelyek valóban segítenek abban, hogy az ember fejlődhessen. Általában nagyon hosszú dokumentációkat és egy kezdő részt találunk, amely bemutatja a felszínt, de ne tanítson meg bennünket néhány valós lehetőségre, mielőtt több időt fektetünk az eszközökbe. Ez az útmutató feltételezi, hogy korlátozott ismeretekkel rendelkezik a parancssor, a Python 3 nyelv és a HTML körül. Vegyük figyelembe a felhasználói történetet:

“Ha dinamikusan renderelt Javascript-tartalommal rendelkező webhelyet térképezek fel, akkor azt akarom, hogy megérinthessem a létrehozott tartalmat, és ne a Javascriptet.”

A dinamikusan Javascript által renderelt tartalomra példa a Munchery.com. Vessünk egy pillantást:


No győződjön meg arról, hogy az adatokat egy & lt; szkript tartalmazza & gt; címke? Ezek az adatok JSON formátumban vannak, és betöltéskor HTML formátumba kerülnek. Lehetőségünk van a JSON-adatok elemzésére, de tegyük fel, hogy a látottak vagy a létrehozottak alapján szeretnénk kinyerni. Írjuk meg a lépéseket arról, hogyan tennénk ezt:

Mielőtt azonban a fentieket megtehetnénk, be kell állítanunk a szerverünket és a környezetünket.

Környezetünk beállítása és feltérképezése

Környezetünkben a Digital Ocean (D.O.) virtuális kiszolgálót vagy a D.O. hívja őket, egy csepp.

Az alábbi parancsok felvázolják a legújabb Chrome-ot, de nem működik a Selenium 2.25-tel. Hagyja ki az alábbi kódot:

cd ~

wget & quot; https: //dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb"

sudo dpkg -i google-chrome-stabil_current_amd64.deb
sudo rm google-chrome-stabil_current_amd64.deb
sudo apt-get install -y -f

Ezután szeretnénk beszerezni a Chromedriver programot, hogy fej nélkül futtathassuk a Chrome-ot. Szerezze be a legújabb Chromedriver verziót:

Futtassa a bejárót a következő paranccsal ( emlékeztető: még mindig benne vagyunk (venv)! ):

Ez az! Sikeresen futtatott egy robotot a Munchery.com oldalon! A kimenetének így kell kinéznie:

A robot feltörése

Megbontom a fent és a Githubon biztosított munchery_spider.py bejárót. A fenti lépések beillesztése az itteni tennivalókra:

1. Nyissa meg a www.munchery.com webhelyet.

2. Keresse meg a céloldalt egy e-mail cím és irányítószám megadásával, majd kattintson a küldés gombra a Főmenü oldal eléréséhez.

3. A főmenü oldalon szerezze be az egyes ételek képét, nevét és árát.

A szkriptben a következő sorrendben fog futni:










Következtetés

A fentiek felhasználhatók az automatizált front-end tesztelés alapjául. Ahogyan rákattintana, hogy megnézze, működik-e a weboldala, ugyanúgy megteheti a Szelén segítségével is. Ha többet szeretne megtudni a webes feltérképezésről, javasoljuk, hogy nézze meg a Scrapy oldalt. Ez nem jogi tanács, de ne feledje, hogy ne reprodukálja a szerzői jog által védett tartalmat, és kövesse a bevált módszereket. Mint mindig, boldog tanulást!

Ha tetszik ez az útmutató, és szeretne többet látni, nézze meg a blogomat a
http://alexhop.net

címen