Web scraping je efektivní způsob sběru dat z webových stránek, stal se efektivním nástrojem v . S různými knihovny dárek pro škrábání webu , práce datového vědce se stává optimální. Scrapy je výkonný webový rámec používaný pro extrakci, zpracování a ukládání dat. Naučíme se, jak můžeme vytvořit webový prohledávač v tomto scrapy tutoriálu, následující témata jsou diskutována v tomto blogu:
- Co je Scrapy?
- Co je webový prohledávač?
- Jak nainstalovat Scrapy?
- Zahájení prvního projektu Scrapy
- Vytvoření vašeho prvního pavouka
- Extrahování dat
- Ukládání extrahovaných dat
Co je Scrapy?
Scrapy je bezplatný a otevřený rámec procházení webu napsaný v pythonu. Původně byl navržen k provedení , ale lze jej také použít k extrakci dat pomocí API. Udržuje ji společnost Scrapinghub Ltd.
Scrapy je kompletní balíček, pokud jde o stahování webových stránek, zpracování a ukládání dat na internetu .
Pokud jde o škrábání webu, je to jako elektrárna s několika způsoby škrábání webu. Scrapy snadno zvládne větší úkoly, seškrábne více stránek nebo skupinu adres URL za méně než minutu. K dosažení souběžnosti používá twister, který pracuje asynchronně.
Poskytuje smlouvy s pavouky, které nám umožňují vytvářet obecné i hluboké prohledávače. Scrapy také poskytuje kanály položek k vytvoření funkcí v pavouku, který může provádět různé operace, jako je nahrazení hodnot v datech atd.
Co je webový prohledávač?
Prohledávač webu je program, který automaticky vyhledává dokumenty na webu. Jsou primárně naprogramovány pro opakované akce pro automatické procházení.
Jak to funguje?
Webový prohledávač je docela podobný knihovníkovi. Vyhledává informace na webu, kategorizuje je a poté indexuje a katalogizuje informace o procházených informacích, které mají být odpovídajícím způsobem načteny a uloženy.
Operace, které prohledávač provede, se vytvoří předem, pak prohledávač provede všechny tyto operace automaticky, čímž se vytvoří index. K těmto indexům lze přistupovat pomocí výstupního softwaru.
Podívejme se na různé aplikace, pro které lze použít webový prohledávač:
Portály pro porovnávání cen vyhledávají konkrétní podrobnosti o produktu a pomocí webového prohledávače provádějí srovnání cen na různých platformách.
Webový prohledávač hraje velmi důležitou roli v oblasti dolování dat pro získávání informací.
Nástroje pro analýzu dat používají webové prohledávače k výpočtu dat pro zobrazení stránek, příchozí i odchozí odkazy.
Prohledávače také slouží informačním centrům ke shromažďování údajů, jako jsou zpravodajské portály.
Jak nainstalovat Scrapy?
Chcete-li do svého systému nainstalovat scrapy, doporučujeme jej nainstalovat na vyhrazené virtuální prostředí. Instalace funguje docela podobně jako jakýkoli jiný balíček v pythonu, pokud používáte byt prostředí, použijte následující příkaz k instalaci scrapy:
conda install -c conda-forge scrapy
prostředí pip můžete také použít k instalaci scrapy,
pip install scrapy
V závislosti na operačním systému může existovat několik závislostí na kompilaci. Scrapy je napsán v čistém pythonu a může záviset na několika balíčcích pythonu jako:
lxml - je to efektivní analyzátor XML a HTML.
parcel - Knihovna pro extrakci HTML / XML napsaná nahoře na lxml
W3lib - Jedná se o víceúčelového pomocníka pro práci s URL a kódováním webových stránek
twisted - Asynchronní síťový rámec
kryptografie - Pomáhá při různých bezpečnostních potřebách na úrovni sítě
Zahájení prvního projektu Scrapy
Chcete-li zahájit svůj první scrapy projekt, přejděte do adresáře nebo umístění, kam chcete uložit soubory, a proveďte následující příkaz
scrapy startproject název projektu
Po provedení tohoto příkazu získáte následující adresáře vytvořené v daném umístění.
název projektu/
scrapy.cfg: nasadí konfigurační soubor
název projektu/
__init__.py: pythonovský modul projektů
items.py: definiční soubor položek projektu
middlewares.py: projektovat soubor middlewares
pipelines.py: projekt pipelines soubor
settings.py: soubor nastavení projektu
pavouci /
__init__.py: adresář, kam později umístíte své pavouky
Vytvoření vašeho prvního pavouka
Pavouci jsou třídy, které definujeme a scrapy se používají ke shromažďování informací z webu. Musíte podtřídu scrapy.Spider a definovat počáteční požadavky.
Kód pro svého pavouka napíšete do samostatného souboru pythonu a uložíte ho do adresáře projectname / spiders ve vašem projektu.
quotes_spider.py
import scrapy třídy QuotesSpider (scrapy.Spider): name = 'quotes' def start_request (self): urls = ['http://quotes.toscrape.com/page/1/', http://quotes.toscrape.com / page / 2 /,] pro adresu URL v adresách URL: výtěžek scrapy.Request (url = url, zpětné volání = self.parse) def parse (self, response): page = response.url.split ('/') [- 2 ] název souboru = 'quotes-% s.html'% stránka s otevřenou (název souboru, 'wb') jako f: f.write (response.body) self.log ('uložený soubor% s'% název souboru)
Jak vidíte, v našich pavoucích jsme definovali různé funkce,
name: Identifikuje pavouka, musí být jedinečný v celém projektu.
start_requests (): Musí vrátit iteraci požadavků, se kterými pavouk začne procházet.
parse (): Jedná se o metodu, která bude volána ke zpracování odpovědi stažené s každým požadavkem.
Extrahování dat
Až dosud pavouk neextrahoval žádná data, pouze uložil celý soubor HTML. Šupinatý pavouk obvykle generuje mnoho slovníků obsahujících data extrahovaná ze stránky. K extrahování dat používáme klíčové slovo výnos v pythonu ve zpětném volání.
klady a zápory hackerství
import scrapy třídy 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 ()}
Když spustíte tento pavouk, vydá extrahovaná data s protokolem.
Ukládání dat
Nejjednodušší způsob, jak ukládat extrahovaná data, je pomocí exportu informačního kanálu. K uložení dat použijte následující příkaz.
scrapy crawl quotes -o quotes.json
Tento příkaz vygeneruje soubor quotes.json obsahující všechny seškrábané položky, serializované v JSON .
Tím se dostáváme na konec tohoto článku, kde jsme se naučili, jak vytvořit webový prohledávač pomocí scrapy v pythonu k seškrábnutí webu a extrakci dat do souboru JSON. Doufám, že máte jasno se vším, co bylo s vámi v tomto tutoriálu sdíleno.
Pokud se vám tento článek o „Scrapy Tutorial“ zdá být relevantní, podívejte se na důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě.
Jsme tu, abychom vám pomohli s každým krokem na vaší cestě a vytvořili osnovy určené pro studenty a profesionály, kteří chtějí být . Kurz je navržen tak, aby vám poskytl náskok v programování v Pythonu a naučil vás základní i pokročilé koncepty Pythonu spolu s různými jako
Pokud narazíte na jakékoli dotazy, neváhejte se zeptat na všechny své dotazy v sekci komentářů „Scrapy Tutorial“ a náš tým vám rád odpoví.