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?
- Kas ir tīmekļa rāpuļprogramma?
- Kā instalēt lūžņus?
- Sākot savu pirmo metāllūžņu projektu
- Pirmā zirnekļa veidošana
- Datu iegūšana
- Iegūto datu glabāšana
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.
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.