Piton

Kezdő útmutató a webes kaparáshoz a Python és a gyönyörű leves segítségével

Kezdő útmutató a webes kaparáshoz a Python és a gyönyörű leves segítségével

A világháló az összes adat mindent átfogó és végső forrása. Soha nem volt példa az internet gyors fejlődésére az elmúlt három évtizedben. Ennek eredményeként a web minden nap több száz terabájt adattal van felszerelve.

Ezeknek az adatoknak valamilyen értéke van egy bizonyos személy számára. Például a böngészési előzményei jelentőséggel bírnak a közösségi média alkalmazások számára, mivel ezek felhasználják a megjelenített hirdetések személyre szabásához. És ezekért az adatokért is nagy a verseny; néhány MB-mal több adat jelentős előnyt jelenthet a vállalkozások számára a versenytársakkal szemben.

Adatbányászat Python-nal

Annak érdekében, hogy segítsen azoknak, akik újak az adatkezelésben, elkészítettük ezt az útmutatót, amelyben bemutatjuk, hogyan lehet az internetről adatokat másolni a Python és a Beautiful soup Library segítségével.

Feltételezzük, hogy Ön már ismeri a Python és a HTML ismereteit, mivel mindkettővel együtt fog működni az ebben az útmutatóban szereplő utasítások szerint.

Legyen óvatos azzal kapcsolatban, hogy mely webhelyeken próbálja ki újdonsült adatbányászati ​​készségeit, mivel sok webhely ezt tolakodónak tartja, és tudja, hogy ennek lehetnek következményei.

A könyvtárak telepítése és előkészítése

Most két könyvtárat fogunk használni, amelyeket használni fogunk: a python kérelem könyvtárát a weboldalak tartalmának betöltésére, a Beautiful Soup könyvtárat pedig a folyamat tényleges kaparási bitjére. A BeautifulSoupnak vannak alternatívái, ne feledje, és ha ismeri az alábbiak egyikét, nyugodtan használja ezeket: Scrappy, Mechanize, Selenium, Portia, kimono és ParseHub.

A kérés könyvtár letölthető és telepíthető a pip paranccsal, az alábbiak szerint:

# pip3 telepítési kérelem

A kérelem könyvtárat telepíteni kell az eszközére. Hasonlóképpen töltse le a BeautifulSoup-ot is:

# pip3 install beautifulsoup4

Ezzel a könyvtárak készen állnak a cselekvésre.

Mint fentebb említettük, a kérés könyvtárnak nincs sok más célja, csak a weboldalak tartalmának lekérése. A BeautifulSoup könyvtárnak és a kéréskönyvtáraknak helye van minden írandó szkriptben, és ezeket az alábbiak előtt kell importálni:

$ import kérések
$ a bs4-ből importálja a BeautifulSoup-ot bs-ként

Ez hozzáadja a kért kulcsszót a névtérhez, jelezve a Python számára a kulcsszó jelentését, valahányszor használatát kéri. Ugyanez történik a bs kulcsszóval, bár itt előnyünk van egy egyszerűbb kulcsszó hozzárendeléséhez a BeautifulSouphoz.

weboldal = kérések.get (URL)

A fenti kód lekéri a weboldal URL-jét, és egy közvetlen karakterláncot hoz létre belőle, egy változóba tárolva.

$ webcontent = weboldal.tartalom

A fenti parancs másolja a weboldal tartalmát, és hozzárendeli a változó webtartalomhoz.

Ezzel elkészültünk a kérés könyvtárral. Nincs más hátra, mint megváltoztatni a kérés könyvtár beállításait BeautifulSoup opciókra.

$ htmlcontent = bs (webcontent, „html.elemző")

Ez elemzi a kérelem objektumot, és olvasható HTML objektummá alakítja.

Ennek minden gondjával áttérhetünk a tényleges kaparó bitre.

Webes kaparás a Python és a BeautifulSoup segítségével

Lépjünk tovább, és nézzük meg, hogyan lehet beolvasni HTML adatobjektumokat a BeautifulSoup segítségével.

Egy példa illusztrálásához, miközben elmagyarázzuk a dolgokat, a következő HTML-kódrészlettel dolgozunk:

Ennek a kódrészletnek a tartalmát a BeautifulSoup segítségével érhetjük el, és használhatjuk a HTML tartalmi változón, az alábbiak szerint:


A fenti kód megkeresi az összes megnevezett címkét

, és megmutatja a felhasználónak. Ha egynél több címkét talál, akkor egyenként mutatja őket:

Technológia

A megnevezett címkék egyidejű mentéséhez

egy listához kiadnánk a végleges kódot, az alábbiak szerint:

A kimenetnek így kell visszatérnie:

Megidézni az egyik

címkéket, indexelje a listát és vegye ki a kívánt listát.

Most láthatjuk, hogyan válasszuk ki

a címkék szem előtt tartva jellemzőiket. Különválasztani a
, szükségünk lenne a
„Tech_head” attribútumú címkék. Írja be a következő kódot:


divért levesben.find_all ('div', attrs = 'class' = 'Tech_head'):

Ez elhozza a

címke.

Kapna:

Technológia

Minden címke nélkül.

Végül kitérünk arra, hogyan válasszuk ki az attribútum értékét egy címkében. A kódnak ezt a címkét kell tartalmaznia:

hölgy

Az src attribútumhoz társított érték működtetéséhez használja a következőket:

htmlcontent.find („img“) [„src“]

És a kimenet a következőképpen alakulna:

"images_4 / a-kezdőknek-útmutató-web-lekaparáshoz-a-pitonnal-és-gyönyörű-levessel.jpg "

Ó, fiú, ez nagyon sok munka!

Ha úgy érzi, hogy a python vagy a HTML ismerete nem megfelelő, vagy ha egyszerűen elárasztja a webes kaparás, ne aggódjon.

Ha Ön olyan vállalkozás, amelynek rendszeresen be kell szereznie egy adott típusú adatot, de nem tudja maga elvégezni az internetes lekaparást, akkor ennek a problémának a körülményei vannak. De tudd, hogy ez pénzbe fog kerülni. Találhat valakit, aki elvégzi az Ön számára a kaparást, vagy beszerezheti a prémium adatszolgáltatást olyan webhelyekről, mint a Google és a Twitter, hogy megossza veled az adatokat. Ezek API-k alkalmazásával osztják meg adataik egy részét, de ezek az API-hívások naponta korlátozottak. Ettől eltekintve az ilyen weboldalak nagyon védik az adataikat. Általában sok ilyen webhely egyáltalán nem osztja meg adatait.

Végső gondolatok

Mielőtt lezárnánk, hadd mondjam el hangosan, ha ez még nem volt magától értetődő; a find (), find_all () parancsok a legjobb barátok, amikor éppen kikaparunk a BeautifulSoupról. Annak ellenére, hogy még sok mindent le kell fedeznünk a Python által lekapart adatok törléséhez, ennek az útmutatónak elégnek kell lennie azok számára, akik éppen most kezdik.

Kereskedelmi játékmotorok nyílt forráskódú portjai
Ingyenes, nyílt forráskódú és platformokon átívelő játékmotorok szabadidős programjai felhasználhatók a régi, valamint a meglehetősen friss játékcímek...
A legjobb parancssori játékok Linuxhoz
A parancssor nem csak a legnagyobb szövetséges a Linux használatakor, hanem a szórakozás forrása is lehet, mert sok olyan szórakoztató játék lejátszás...
A legjobb Gamepad Mapping alkalmazások Linuxhoz
Ha egy tipikus billentyűzet és egér beviteli rendszer helyett szeretnél játékokat játszani Linuxon egy játékvezérlővel, van néhány hasznos alkalmazás ...

Legfrissebb cikkek az operációs rendszerekről. Sok érdekes útmutató és hasznos tipp. Érezd magad a modern technológiák világában