Apmācība par metāllūžņiem: kā izveidot tīmekļa rāpuļprogrammu, izmantojot metāllūžņus?



Šajā rakstā Par metāllūžņu apmācību jūs uzzināsiet, kā izveidot tīmekļa rāpuļprogrammu, izmantojot dažādas datu ieguves metodes un veidus, kā datus glabāt datu bāzē.

Web nokasīšana ir efektīvs veids, kā vākt datus no tīmekļa lapām, un tas ir kļuvis par efektīvu rīku . Ar dažādiem bibliotēkas klāt tīmekļa nokasīšanai patīk , datu zinātnieka darbs kļūst optimāls. Scrapy ir spēcīgs tīmekļa ietvars, ko izmanto datu iegūšanai, apstrādei un uzglabāšanai. Mēs uzzināsim, kā mēs varam izveidot tīmekļa rāpuļprogrammu šajā metināšanas apmācībā. Šajā emuārā ir aplūkotas šādas tēmas:

Kas ir lūžņi?

Scrapy ir bezmaksas un atvērtā koda tīmekļa pārmeklēšanas sistēma, kas rakstīta pitonā. Sākotnēji tas bija paredzēts izpildīšanai , bet to var izmantot arī datu iegūšanai, izmantojot API. To uztur Scrapinghub ltd.





Metāllūžņi ir pilnīga pakete, lejupielādējot tīmekļa lapas, apstrādājot un uzglabājot datus .

Tas ir kā spēkstacija, kad runa ir par tīmekļa nokasīšanu ar vairākiem veidiem, kā nokasīt vietni. Scrapy ar lielākiem uzdevumiem tiek galā viegli, vairāk nekā minūtes laikā nokasot vairākas lapas vai URL grupu. Lai sasniegtu vienlaicīgumu, tiek izmantots twister, kas darbojas asinhroni.



Tas nodrošina zirnekļa līgumus, kas ļauj mums izveidot gan vispārīgus, gan dziļus rāpuļus. Scrapy nodrošina arī vienumu cauruļvadus, lai izveidotu funkcijas zirnekļā, kas var veikt dažādas darbības, piemēram, aizstāt vērtības datos utt.

metāllūžņu arhitektūra-metāllūžņu apmācība-edureka

Kas ir tīmekļa rāpuļprogramma?

Tīmekļa rāpuļprogramma ir programma, kas automātiski meklē dokumentus tīmeklī. Tie galvenokārt ir ieprogrammēti atkārtotām darbībām automātiskai pārlūkošanai.

Kā tas strādā?



Tīmekļa rāpuļprogramma ir diezgan līdzīga bibliotekāram. Tas meklē informāciju tīmeklī, klasificē informāciju un pēc tam indeksē un katalogizē informāciju rāpotajai informācijai, kas attiecīgi jāatgūst un jāuzglabā.

Darbības, kuras veiks rāpuļprogramma, tiek izveidotas iepriekš, pēc tam rāpuļprogramma automātiski veic visas tās darbības, kas izveidos indeksu. Šiem indeksiem var piekļūt, izmantojot izvades programmatūru.

Apskatīsim dažādas lietojumprogrammas, kurām var izmantot tīmekļa rāpuļprogrammu:

kā iemest dubultu int
  • Cenu salīdzināšanas portāli meklē konkrētu produkta informāciju, lai salīdzinātu cenas dažādās platformās, izmantojot tīmekļa rāpuļprogrammu.

  • Tīmekļa rāpuļprogrammai ir ļoti svarīga loma datu iegūšanas jomā, lai iegūtu informāciju.

  • Datu analīzes rīki izmanto tīmekļa rāpuļprogrammas, lai aprēķinātu datus arī lapu skatiem, ienākošajām un izejošajām saitēm.

  • Rāpuļprogrammas kalpo arī informācijas centriem, lai apkopotu datus, piemēram, ziņu portālus.

Kā uzstādīt metāllūžņus?

Lai instalētu metāllūžņus savā sistēmā, ieteicams tos instalēt speciālā virtualenv. Instalēšana darbojas diezgan līdzīgi jebkurai citai python pakotnei, ja to izmantojat conda vide, izmantojiet šādu komandu, lai instalētu metāllūžņus:

conda install -c conda-kalšanas lūžņi

jūs varat arī izmantot pip vidi, lai instalētu metāllūžņus,

pip instalēt lūžņus

Atkarībā no operētājsistēmas var būt dažas kompilācijas atkarības. Metāllūžņi ir rakstīti tīrā pitonā, un tie var būt atkarīgi no dažām pitonu pakotnēm, piemēram:

  • lxml - tas ir efektīvs XML un HTML parsētājs.

  • parcel - HTML / XML ekstrakcijas bibliotēka, kas uzrakstīta uz augšu uz lxml

  • W3lib - tas ir daudzfunkcionāls palīgs, kas nodarbojas ar vietrāžiem URL un tīmekļa lapu kodējumiem

  • savīti - asinhrona tīkla sistēma

  • kriptogrāfija - tā palīdz dažādām tīkla līmeņa drošības vajadzībām

Sākot savu pirmo metāllūžņu projektu

Lai sāktu savu pirmo metāllūžņu projektu, dodieties uz direktoriju vai vietu, kur vēlaties saglabāt failus, un izpildiet šo komandu

scrapy startproject projekta nosaukums

Pēc šīs komandas izpildes jūs saņemsit šādus direktorijus, kas izveidoti šajā vietā.

  • Projekta nosaukums/

    • scrapy.cfg: tas izvieto konfigurācijas failu

  • Projekta nosaukums/

    • __init__.py: projektu python modulis

    • items.py: projekta vienumu definēšanas fails

    • middlewares.py: projekta starpprogrammatūru fails

    • pipelines.py: projekta cauruļvadu fails

    • settings.py: projekta iestatījumu fails

  • zirnekļi /

    • __init__.py: direktorija, kurā vēlāk ievietosiet savus zirnekļus

Pirmā zirnekļa veidošana

Zirnekļi ir klases, kuras mēs definējam un kuras tiek izmantotas, lai savāktu informāciju no tīmekļa. Jums ir jāapmeklē apakšklase. Zirneklis un jādefinē sākotnējie pieprasījumi.

Jūs rakstāt sava zirnekļa kodu atsevišķā pitona failā un saglabājat to projekta nosaukuma / zirnekļu direktorijā.

quotes_spider.py

importēt metāllūžņu klasi QuotesSpider (scrapy.Spider): name = 'quotes' def start_request (self): urls = ['http://quotes.toscrape.com/page/1/', http://quotes.toscrape.com / page / 2 /,] vietrāžiem URL vietrāžos: ienesiet scrapy.Request (url = url, callback = self.parse) def parse (self, response): page = response.url.split ('/') [- 2 ] filename = 'quotes-% s.html'% lapa ar atvērtu (faila nosaukums, 'wb') kā f: f.write (response.body) self.log ('saglabāts fails% s'% faila nosaukums)

Kā redzat, mēs esam definējuši dažādas funkcijas mūsu zirnekļos,

  • nosaukums: Tas identificē zirnekli, tam jābūt unikālam visā projektā.

  • start_requests (): jāatgriež atkārtots pieprasījumu skaits, ar kuriem zirneklis sāks pārmeklēt.

  • parse (): Tā ir metode, kas tiks izsaukta, lai apstrādātu ar katru pieprasījumu lejupielādēto atbildi.

Datu iegūšana

Līdz šim zirneklis neizrāda datus, tas tikai saglabāja visu HTML failu. Metāllūžņu zirneklis parasti rada daudzas vārdnīcas, kurās ir dati, kas iegūti no lapas. Datu iegūšanai mēs izmantojam ienesīguma atslēgvārdu pitonā atzvanīšanā.

importēt metāllūžņu klasi QuotesSpider (scrapy.Spider): name = 'quotes' start_urls = [http://quotes.toscrape.com/page/1/ ', http://quotes.toscrape.com/page/2/,] def parsēšana (sevis, atbilde): citātam atbildē.css ('div.quote'): iegūstiet {'text': quote.css (span.text :: text '). get (),' author ': quote .css (small.author::text ') get (),' tags ': quote.css (div.tags a.tag :: text'). getall ()}

Palaižot šo zirnekli, tas izvadīs iegūtos datus ar žurnālu.

Datu glabāšana

Vienkāršākais veids, kā saglabāt iegūtos datus, ir plūsmas eksportēšana, datu glabāšanai izmantojiet šo komandu.

metāllūžņu pēdiņas -o pēdiņas.json

Šī komanda ģenerēs quotes.json failu, kurā būs visi nokasītie vienumi, kas seriālizēti JSON .

datuma datu tips kv

Tādējādi mēs nonākam līdz šī raksta beigām, kur mēs esam iemācījušies, kā padarīt tīmekļa rāpuļprogrammu, izmantojot python, izmantojot scrapy, lai nokasītu vietni un izvilktu datus JSON failā. Es ceru, ka jums ir skaidrs viss, kas ar jums ir kopīgots šajā apmācībā.

Ja jums šis raksts par sadaļu “Metāllūžņu apmācība” ir noderīgs, skatiet vietni uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē.

Mēs esam šeit, lai palīdzētu jums ik uz soļa jūsu ceļojumā un izdomātu mācību programmu, kas paredzēta studentiem un profesionāļiem, kuri vēlas būt . Kurss ir paredzēts, lai dotu jums sākumu Python programmēšanā un apmācītu gan pamata, gan uzlabotas Python koncepcijas kopā ar dažādām patīk

Ja rodas kādi jautājumi, uzdodiet visus jautājumus komentāru sadaļā “Metāllūžņu apmācība”, un mūsu komanda ar prieku atbildēs.