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?
- Mi az a webrobot?
- Hogyan lehet telepíteni a hulladékot?
- Az első hulladékprojekt elindítása
- Az első pók készítése
- Adatok kinyerése
- A kivont adatok tárolása
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.
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.