Selejtezési útmutató: Hogyan készítsünk webrobotot a selejt használatával?



Ebben a Scrapy Tutorial cikkben megtanulja, hogyan készítsen webrobotot különféle adatkivonási technikákkal és az adatok adatbázisban történő tárolásának módjaival.

A webes adatgyűjtés hatékony módszer az adatok gyűjtésére a weboldalakról, és hatékony eszközzé vált . Különféle könyvtárak webes kaparáshoz hasonló , az adattudós munkája optimálissá válik. A Scrapy egy erőteljes webes keretrendszer, amelyet adatok kinyerésére, feldolgozására és tárolására használnak. Megtanuljuk, hogyan készíthetünk webrobotot ebben a selejtezési útmutatóban, a következő témaköröket tárgyalja a blog:

Mi a selejtezés?

A Scrapy egy ingyenes és nyílt forráskódú web-feltérképező keretrendszer, amelyet python írt. Eredetileg előadásra készült , de felhasználható adatok API-kkal történő kinyerésére is. A Scrapinghub ltd. Fenntartja.





A Scrapy egy teljes csomag, amikor weboldalakat kell letölteni, feldolgozni és tárolni az adatokat .

kör robin ütemezési algoritmus a c-ben

Olyan ez, mint egy erőmű, amikor a webes kaparásról van szó, a weboldal többféle módon történő lekaparásával. A Scrapy könnyebben kezeli a nagyobb feladatokat, kevesebb mint egy perc alatt több oldal vagy URL-csoport lekaparása. Az egyidejűség eléréséhez aszinkron módon működő twister-t használ.



Pókszerződéseket biztosít, amelyek lehetővé teszik általános és mély bejárók létrehozását. A Scrapy emellett elemcsővezetékeket is kínál olyan funkciók létrehozásához egy pókban, amelyek különféle műveleteket hajthatnak végre, például az adatok értékeinek cseréjét stb.

selejtes építészet-selejt bemutató-edureka

Mi az a webrobot?

A webrobot egy olyan program, amely automatikusan keresi a dokumentumokat az interneten. Elsősorban az automatizált böngészés ismétlődő műveleteire vannak beprogramozva.

Hogyan működik?



A webrobot meglehetősen hasonlít egy könyvtároshoz. Megkeresi az információkat az interneten, kategorizálja az információkat, majd indexeli és katalogizálja az információkat a feltérképezett információkhoz, és ennek megfelelően tárolja azokat.

A bejáró által végrehajtott műveleteket előzetesen létrehozzák, majd a bejáró automatikusan elvégzi mindazokat a műveleteket, amelyek indexet hoznak létre. Ezek az indexek egy kimeneti szoftver segítségével érhetők el.

Vessünk egy pillantást azokra a különféle alkalmazásokra, amelyekhez egy webrobot használható:

  • Az ár-összehasonlító portálok konkrét termékinformációkat keresnek, hogy összehasonlítsák az árakat a különböző platformokon egy webrobot segítségével.

  • A webrobot nagyon fontos szerepet játszik az adatbányászat területén az információk visszakeresése érdekében.

  • Az adatelemző eszközök webrobotok segítségével számítják ki az oldalnézetek, a bejövő és a kimenő linkek adatait is.

  • A robotok az információs központok számára is szolgálnak adatok gyűjtésére, például hírportálokra.

Hogyan kell telepíteni a hulladékot?

A selejtezés telepítéséhez ajánlott egy dedikált virtualenv-re telepíteni. A telepítés hasonlóan működik, mint a Python bármely más csomagja, ha használja conda környezetben használja a következő parancsot a selejt telepítéséhez:

conda install -c conda-forge scrapy

a pip környezetet is használhatja selejt telepítéséhez,

pip telepítés selejt

Az operációs rendszertől függően néhány fordítási függőség lehet. A scrap tiszta pythonban van megírva, és függhet néhány python csomagtól, például:

  • lxml - Ez egy hatékony XML és HTML elemző.

  • parcel - HTML / XML kibontó könyvtár, amely felül van írva az lxml-re

  • W3lib - Ez egy többcélú segítő az URL-ekkel és a weboldalak kódolásával

  • csavart - aszinkron hálózati keretrendszer

  • titkosítás - Különböző hálózati szintű biztonsági igényeket segít

Az első hulladékprojekt elindítása

Az első selejtezési projekt elindításához lépjen abba a könyvtárba vagy helyre, ahová menteni kívánja a fájlokat, és hajtsa végre a következő parancsot

scrapy startproject projektnév

Miután végrehajtotta ezt a parancsot, a következő könyvtárakat hozza létre ezen a helyen.

  • Projekt neve/

    • scrapy.cfg: telepíti a konfigurációs fájlt

  • Projekt neve/

    • __init__.py: a projektek python modulja

    • items.py: projekt elemdefiníciós fájl

    • middlewares.py: projekt middlewares fájl

    • pipelines.py: project pipelines fájl

    • settings.py: projektbeállítási fájl

  • pókok/

    • __init__.py: egy könyvtár, ahová később beteszi a pókjait

Az első pók készítése

A pókok olyan osztályok, amelyeket mi definiálunk, és amelyeket az internetes információk gyűjtése céljából használunk. Alosztályba kell sorolni a selejtezést. Pókoljon és határozza meg a kezdeti kéréseket.

Beírja a pókjának kódját egy külön python fájlba, és elmenti a projekt projectname / spiders könyvtárába.

quotes_spider.py

import hulladék osztály QuotesSpider (scrapy.Spider): név = 'idézetek' def start_request (self): urls = ['http://quotes.toscrape.com/page/1/', http://quotes.toscrape.com / page / 2 /,] az URL-hez az URL-ben: hozam scrapy.Request (url = url, callback = self.parse) def parse (self, response): page = response.url.split ('/') [- 2 ] fájlnév = 'idézetek-% s.html'% oldal nyitva (fájlnév, 'wb') f formátumban: f.write (válasz.test) self.log ('mentett fájl% s'% fájlnév)

Mint láthatja, különböző funkciókat definiáltunk pókjainkban,

  • név: A pókot azonosítja, a projekt során egyedinek kell lennie.

  • start_requests (): Ismétlődő kéréseket kell visszaadnia, amelyekkel a pók feltérképezni kezdi.

  • parse (): Ez egy olyan módszer, amely meghívásra kerül az egyes kérésekkel letöltött válasz kezelésére.

Adatok kinyerése

Mostanáig a pók nem von ki adatokat, csak a teljes HTML fájlt mentette el. A selejtes pók általában sok szótárt generál, amelyek tartalmazzák az oldalról kinyert adatokat. Az adat kibontásához a hozam kulcsszót használjuk a pythonban a visszahívásban.

import hulladék osztály QuotesSpider (scrapy.Spider): név = 'idézetek' start_urls = [http://quotes.toscrape.com/page/1/ ', http://quotes.toscrape.com/page/2/,] def parse (én, válasz): idézethez a válaszban.css ('div.quote'): hozam {'text': quote.css (span.text :: text '). get (),' author ': idézet .css (small.author::text ') get (),' tags ': quote.css (div.tags a.tag :: text'). getall ()}

Ha futtatja ezt a pókot, akkor a naplóval kinyomtatja a kivont adatokat.

Az adatok tárolása

A kivont adatok tárolásának legegyszerűbb módja a hírcsatorna-exportálás, az adatok tárolásához használja a következő parancsot.

selejtes mászó idézetek -o idézetek.json

Ez a parancs létrehoz egy quotes.json fájlt, amely tartalmazza az összes lekapart elemet, sorosítva JSON .

Ezzel eljutottunk a cikk végéhez, ahol megtanultuk, hogyan készíthetünk webrobotot a python-ban található scrapy használatával egy weboldal kaparására és az adatok JSON-fájlba történő kivonására. Remélem, tisztában van azzal, amit megosztott veled ebben az oktatóanyagban.

Ha relevánsnak találta ezt a cikket a „Selejtezési útmutató” témában, nézze meg a egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóból álló hálózata van az egész világon.

Azért vagyunk itt, hogy segítsünk az utazás minden lépésében, és kidolgozzunk egy tananyagot, amelyet olyan hallgatók és szakemberek számára tervezünk, akik szeretnének . A tanfolyamot úgy tervezték meg, hogy előrelépést nyújtson a Python programozásában, és képezze mind az alapvető, mind a haladó Python fogalmakra a különféle megoldásokkal együtt tetszik

Ha bármilyen kérdése merülne fel, nyugodtan tegye fel minden kérdését a „Hulladék bemutató” megjegyzés rovatában, és csapatunk örömmel válaszol.