Výukový program Scrapy: Ako vyrobiť webový prehľadávač pomocou programu Scrapy?



V tomto článku Scrapy Tutorial sa naučíte vyrábať webový prehľadávač s rôznymi technikami extrakcie údajov a spôsobmi ukladania údajov do databázy.

Web scraping je efektívny spôsob zhromažďovania údajov z webových stránok, stal sa efektívnym nástrojom v . S rôznymi knižnice darček pre škrabanie webu ako , práca dátového vedca sa stáva optimálnou. Scrapy je výkonný webový rámec, ktorý sa používa na extrakciu, spracovanie a ukladanie údajov. V tomto scrapy tutoriáli sa dozvieme, ako môžeme vytvoriť webový prehľadávač. Nasledujúce témy sú uvedené v tomto blogu:

Čo je Scrapy?

Scrapy je bezplatný a otvorený rámec na prehľadávanie webu napísaný v jazyku python. Pôvodne to bolo určené na vystúpenie , ale dá sa použiť aj na extrakciu údajov pomocou API. Udržuje ju spoločnosť Scrapinghub Ltd.





Scrapy je kompletný balík, pokiaľ ide o sťahovanie webových stránok, spracovanie a ukladanie údajov na serveri .

Pokiaľ ide o škrabanie webu, je to ako elektráreň s niekoľkými spôsobmi, ako škrabať web. Aplikácia Scrapy zvládne väčšie úlohy s ľahkosťou, pričom zoškrabe viac stránok alebo skupinu adries URL za menej ako minútu. Používa twister, ktorý pracuje asynchrónne na dosiahnutie súbežnosti.



Poskytuje zmluvy s pavúkmi, ktoré nám umožňujú vytvárať všeobecné aj hlboké prehľadávače. Aplikácia Scrapy tiež poskytuje kanály položiek na vytvorenie funkcií v pavúku, ktorý môže vykonávať rôzne operácie, ako napríklad nahrádzať hodnoty v dátach atď.

scrapy architecture-scrapy tutorial-edureka

Čo je webový prehľadávač?

Webový prehľadávač je program, ktorý automaticky vyhľadáva dokumenty na webe. Sú primárne naprogramované na opakované akcie pre automatické prehliadanie.

Ako to funguje?



Webový prehľadávač je dosť podobný knihovníkovi. Vyhľadá informácie na webe, kategorizuje ich a potom indexuje a katalogizuje informácie o prehľadaných informáciách, ktoré sa podľa toho získajú a uložia.

Operácie, ktoré vykoná prehľadávač, sa vytvoria vopred, potom prehľadávač vykoná všetky tieto operácie automaticky, čím sa vytvorí index. K týmto indexom je možné získať výstupný softvér.

Pozrime sa na rôzne aplikácie, ktoré môže webový prehľadávač použiť:

  • Portály na porovnávanie cien vyhľadávajú konkrétne podrobnosti o produkte a pomocou prehľadávača webových stránok umožňujú porovnávať ceny na rôznych platformách.

  • Webový prehľadávač hrá veľmi dôležitú úlohu v oblasti dolovania údajov pri získavaní informácií.

  • Nástroje na analýzu údajov používajú webové prehľadávače na výpočet údajov pre zobrazenia stránky, tiež pre prichádzajúce a odchádzajúce odkazy.

  • Indexové prehľadávače slúžia aj informačným centrám na zhromažďovanie údajov, ako sú napríklad spravodajské portály.

Ako nainštalovať Scrapy?

Ak chcete do svojho systému nainštalovať scrapy, odporúča sa ho nainštalovať na vyhradený virtuálny počítač. Inštalácia funguje veľmi podobne ako akýkoľvek iný balík v pythone, ak ho používate byt prostredie, nainštalujte scrapy pomocou nasledujúceho príkazu:

conda install -c conda-forge scrapy

prostredie pip môžete tiež použiť na inštaláciu scrapy,

pip nainštaluj scrapy

V závislosti od operačného systému môže byť niekoľko závislostí kompilácie. Scrapy je napísaný v čistom pythone a môže závisieť od niekoľkých balíkov pythonu, ako napríklad:

  • lxml - je to efektívny analyzátor XML a HTML.

  • parcel - Knižnica na extrakciu HTML / XML napísaná navrchu na lxml

  • W3lib - je to viacúčelový pomocník pre prácu s adresami URL a kódovaním webových stránok

  • twisted - Asynchrónny sieťový rámec

  • kryptografia - pomáha pri rôznych bezpečnostných potrebách na úrovni siete

Začína sa váš prvý scrapbookový projekt

Ak chcete spustiť svoj prvý scrapy projekt, prejdite do adresára alebo umiestnenia, kam chcete uložiť svoje súbory, a vykonajte nasledujúci príkaz

scrapy startproject názov projektu

Po vykonaní tohto príkazu získate na danom mieste nasledujúce adresáre.

  • Názov projektu/

    • scrapy.cfg: nasadí konfiguračný súbor

  • Názov projektu/

    • __init__.py: modul python projektov

    • items.py: definičný súbor položiek projektu

    • middlewares.py: projektovať súbor middlewares

    • pipelines.py: projekt pipelines súbor

    • settings.py: súbor nastavení projektu

  • pavúky /

    • __init__.py: adresár, do ktorého neskôr umiestnite svojich pavúkov

Tvorba vášho prvého pavúka

Pavúky sú triedy, ktoré definujeme a scrapy sa používajú na zhromažďovanie informácií z webu. Musíte podtriedu scrapy.Spider a definovať počiatočné požiadavky, ktoré musíte urobiť.

Kód pre svojho pavúka napíšete do samostatného súboru pythonu a uložíte ho do adresára projectname / spiders vo svojom projekte.

quotes_spider.py

importovať triedu scrapy QuotesSpider (scrapy.Spider): name = 'quotes' def start_request (self): urls = ['http://quotes.toscrape.com/page/1/', http://quotes.toscrape.com / page / 2 /,] pre adresu URL v adresách URL: výnos scrapy.Request (url = url, spätné volanie = self.parse) def parse (self, response): page = response.url.split ('/') [- 2 ] názov súboru = 'citácie-% s.html'% stránka s otvorenou (názov súboru, 'wb') ako f: f.write (response.body) self.log ('uložený súbor% s'% názov súboru)

Ako vidíte, v našich pavúkoch sme definovali rôzne funkcie,

  • meno: Identifikuje pavúka, musí byť jedinečný počas celého projektu.

  • start_requests (): Musí vrátiť iteráciu požiadaviek, s ktorými začne pavúk prehľadávať.

  • parse (): Je to metóda, ktorá sa bude volať na spracovanie odpovede stiahnutej s každou požiadavkou.

Extrahovanie údajov

Doteraz pavúk neextrahoval žiadne dáta, iba uložil celý súbor HTML. Chrapľavý pavúk zvyčajne generuje veľa slovníkov obsahujúcich údaje extrahované zo stránky. Na extrahovanie údajov používame kľúčové slovo výnos v pythone v spätnom volaní.

čo je java ide
importovať triedu scrapy QuotesSpider (scrapy.Spider): name = 'quotes' start_urls = [http://quotes.toscrape.com/page/1/ ', http://quotes.toscrape.com/page/2/,] def parse (self, response): for quote in response.css ('div.quote'): yield {'text': quote.css (span.text :: text '). get (),' author ': quote .css (small.author::text ') get (),' tags ': quote.css (div.tags a.tag :: text'). getall ()}

Po spustení tohto pavúka vydá vyťažené údaje s protokolom.

Ukladanie údajov

Najjednoduchší spôsob uloženia extrahovaných údajov je použitie exportu informačného kanála. Na uloženie údajov použite nasledujúci príkaz.

scrapy crawl quotes -o quotes.json

Tento príkaz vygeneruje súbor quotes.json obsahujúci všetky zoškrabané položky, serializované v JSON .

Týmto sa dostávame na koniec tohto článku, kde sme sa dozvedeli, ako môžeme vytvoriť webový prehľadávač, ktorý pomocou scrapy v pythone vyškriabe webovú stránku a extrahuje údaje do súboru JSON. Dúfam, že máte prehľad o všetkom, čo bolo s vami zdieľané v tomto tutoriále.

Ak sa vám zdá tento článok o „Scrapy výučbe“ relevantný, pozrite si dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete.

Sme tu, aby sme vám pomohli na každom kroku na vašej ceste a prišli s učebným plánom, ktorý je určený pre študentov a profesionálov, ktorí chcú byť . Kurz je navrhnutý tak, aby vám dal úvod do programovania v Pythone a naučil vás základné aj pokročilé koncepty Pythonu spolu s rôznymi Páči sa mi to

Ak narazíte na akékoľvek otázky, neváhajte sa ich opýtať v sekcii komentárov „Scrapy Tutorial“ a náš tím vám rád odpovie.