Vadnica za scrapy: Kako narediti spletnega pajka s pomočjo Scrap?



V tem članku Vadbe za Scrapy se boste naučili izdelati spletni iskalnik z različnimi tehnikami pridobivanja podatkov in načini shranjevanja podatkov v zbirki podatkov.

Spletno strganje je učinkovit način zbiranja podatkov s spletnih strani in je postalo učinkovito orodje v . Z različnimi knjižnice prisoten za strganje po spletu , delo znanstvenika podatkov postane optimalno. Scrapy je zmogljiv spletni okvir, ki se uporablja za pridobivanje, obdelavo in shranjevanje podatkov. V tej vadnici za odstranjevanje se bomo naučili, kako lahko naredimo spletnega pajka, naslednje teme so obravnavane v tem blogu:

Kaj je Scrapy?

Scrapy je brezplačno in odprtokodno ogrodje za spletno iskanje, napisano v pythonu. Prvotno je bil zasnovan za izvedbo , lahko pa se uporablja tudi za pridobivanje podatkov z uporabo API-jev. Vzdržuje ga Scrapinghub ltd.





Scrapy je celoten paket za prenos spletnih strani, obdelavo in shranjevanje podatkov na spletnem mestu .

To je kot elektrarna, ko gre za strganje po spletu z več načini za strganje spletnega mesta. Z večjimi opravili se Scrapy zlahka spopade, strga več strani ali skupino URL-jev v manj kot minuti. Uporablja twister, ki deluje asinhrono za doseganje sočasnosti.



kakšna je razlika med xml in html

Zagotavlja pogodbe o pajkih, ki nam omogočajo ustvarjanje tako splošnih kot globokih pajkov. Scrapy ponuja tudi cevovode elementov za ustvarjanje funkcij v pajku, ki lahko izvaja različne operacije, kot je zamenjava vrednosti v podatkih itd.

scrapy arhitektura-scrapy tutorial-edureka

Kaj je spletni iskalnik?

Spletni pajek je program, ki samodejno išče dokumente v spletu. Programirani so predvsem za ponavljajoče se akcije za avtomatizirano brskanje.

Kako deluje?



Pajek po spletu je precej podoben knjižničarju. Išče informacije v spletu, jih kategorizira in nato indeksira in katalogizira podatke za iskane informacije, ki jih je treba pridobiti in shraniti.

Operacije, ki jih bo izvedel pajek, se ustvarijo vnaprej, nato pajek samodejno izvede vse tiste operacije, ki bodo ustvarile indeks. Do teh indeksov lahko dostopa izhodna programska oprema.

Oglejmo si različne aplikacije, za katere je mogoče uporabljati spletni iskalnik:

  • Portali za primerjavo cen iščejo določene podrobnosti o izdelkih, da s pomočjo spletnega pajka primerjajo cene na različnih platformah.

  • Spletni pajek igra zelo pomembno vlogo na področju rudarjenja podatkov za pridobivanje informacij.

  • Orodja za analizo podatkov s pomočjo spletnih pajkov izračunajo podatke za oglede strani, vhodne in odhodne povezave.

  • Pajki služijo tudi informacijskim vozliščem za zbiranje podatkov, kot so novičarski portali.

Kako namestiti Scrapy?

Če želite v svoj sistem namestiti scrapy, je priporočljivo, da ga namestite na namenski virtualenv. Namestitev deluje podobno kot kateri koli drug paket v pythonu, če ga uporabljate conda okolje, uporabite naslednji ukaz za namestitev scrapy:

conda install -c conda-forge scrap

okolje pip lahko uporabite tudi za namestitev odstranjevanja,

pip namestite strganje

Odvisno od vašega operacijskega sistema je lahko nekaj odvisnosti od prevajanja. Scrap je napisan v čistem pythonu in je lahko odvisen od nekaj paketov python, kot so:

  • lxml - je učinkovit razčlenjevalnik XML in HTML.

  • paket - knjižnica za ekstrakcijo HTML / XML, napisana na vrhu na lxml

  • W3lib - Je večnamenski pomočnik za obravnavo URL-jev in kodiranja spletnih strani

  • twisted - Asinhroni mrežni okvir

  • kriptografija - pomaga pri različnih varnostnih potrebah na ravni omrežja

Začetek vašega prvega projekta odstranjevanja

Če želite začeti svoj prvi projekt odstranjevanja, pojdite v imenik ali mesto, kamor želite shraniti datoteke, in izvedite naslednji ukaz

scrapy startproject ime projekta

Po izvedbi tega ukaza boste dobili naslednje imenike, ustvarjene na tej lokaciji.

  • Ime Projekta/

    • scrapy.cfg: razporedi konfiguracijsko datoteko

  • Ime Projekta/

    • __init__.py: python modul projektov

    • items.py: datoteka z definicijo elementov projekta

    • middlewares.py: datoteka datoteke middlewares

      kako ustvariti dnevniške datoteke v javi -
    • pipelines.py: datoteka cevovodov projekta

    • settings.py: datoteka z nastavitvami projekta

  • pajki /

    • __init__.py: imenik, kamor boste kasneje spustili svoje pajke

Izdelava vašega prvega pajka

Pajki so razredi, ki jih opredeljujemo in uporabljamo za zbiranje informacij s spleta. Morate podrazred scrapy.Spider in določite začetne zahteve.

Kodo za svojega pajka napišete v ločeno datoteko python in jo shranite v imenik projekta / pajki v vašem projektu.

quotes_spider.py

uvoz scrap class QuotesSpider (scrapy.Spider): name = 'quotes' def start_request (self): urls = ['http://quotes.toscrape.com/page/1/', http://quotes.toscrape.com / page / 2 /,] za url v urls: yield scrapy.Request (url = url, callback = self.parse) def parse (self, response): page = response.url.split ('/') [- 2 ] filename = 'quotes-% s.html'% stran z odprtim (ime datoteke, 'wb') kot f: f.write (response.body) self.log ('shranjena datoteka% s'% ime datoteke)

Kot lahko vidite, smo v svojih pajkih opredelili različne funkcije,

  • ime: Identificira pajka, v celotnem projektu mora biti unikaten.

  • start_requests (): Vrniti mora ponovitev zahtev, po katerih bo pajek začel plaziti.

  • parse (): To je metoda, ki bo poklicana za obdelavo odgovora, prenesenega z vsako zahtevo.

Izdvajanje podatkov

Do zdaj pajek ne izvleče nobenih podatkov, temveč je shranil celotno datoteko HTML. Pajek za strganje običajno ustvari veliko slovarjev, ki vsebujejo podatke, pridobljene s strani. Za pridobivanje podatkov uporabljamo ključno besedo yield v pythonu v povratnem klicu.

uvoz scrap class QuotesSpider (scrapy.Spider): name = 'quotes' start_urls = [http://quotes.toscrape.com/page/1/ ', http://quotes.toscrape.com/page/2/,] def parse (self, response): za citat v 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 ()}

Ko zaženete tega pajka, bo izpisane podatke poslal v dnevnik.

Shranjevanje podatkov

Izvlečene podatke najpreprosteje shranite z izvozom krme, za shranjevanje podatkov uporabite naslednji ukaz.

scrapy crawl quotes -o quotes.json

Ta ukaz bo ustvaril datoteko quotes.json, ki vsebuje vse strgane elemente, serializirane v JSON .

To nas pripelje do konca tega članka, kjer smo se naučili, kako lahko s pomočjo scrap-a v pythonu naredimo spletnega pajka, da strgamo po spletnem mestu in podatke ekstrahiramo v datoteko JSON. Upam, da vam je jasno vse, kar je bilo v tej vadnici z vami deljeno.

Če se vam zdi ta članek v »Vadnici za odstranjevanje odpadkov« ustrezen, si oglejte zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, razširjenih po vsem svetu.

Tu smo, da vam pomagamo pri vsakem koraku na poti in pripravimo učni načrt, ki je zasnovan za študente in strokovnjake, ki želijo biti . Tečaj je zasnovan tako, da vam omogoči uvod v programiranje Python in vas usposobi za osnovne in napredne koncepte Pythona ter različne všeč

Če naletite na kakršna koli vprašanja, vas prosimo, da vsa vprašanja postavite v oddelku za komentarje v »Vadnici za terapijo« in naša ekipa vam bo z veseljem odgovorila.