El rascat web és una forma eficaç de recopilar dades de les pàgines web, ja que s'ha convertit en una eina eficaç a . Amb diversos biblioteques present per al rascat web com , el treball d’un científic de dades esdevé òptim. Scrapy és un potent marc web que s’utilitza per extreure, processar i emmagatzemar dades. Aprendrem com podem fer un rastrejador web en aquest tutorial descarregat, a continuació es detallen els temes d’aquest bloc:
- Què és Scrapy?
- Què és un rastrejador web?
- Com instal·lar Scrapy?
- Començant el vostre primer projecte Scrapy
- Fent la teva primera aranya
- Extracció de dades
- Emmagatzematge de les dades extretes
Què és Scrapy?
Scrapy és un marc de rastreig web gratuït i de codi obert escrit en python. Originalment va ser dissenyat per actuar , però també es pot utilitzar per extreure dades mitjançant API. La manté Scrapinghub ltd.
Scrapy és un paquet complet a l'hora de descarregar les pàgines web, processar i emmagatzemar les dades a .
És com una potència pel que fa al rascat web amb diverses maneres de rascar un lloc web. Scrapy gestiona tasques més grans amb facilitat, rascant diverses pàgines o un grup d’URL en menys d’un minut. Utilitza un retorçador que funciona de manera asíncrona per aconseguir la simultaneïtat.
Proporciona contractes d’aranya que ens permeten crear rastrejadors genèrics i profunds. Scrapy també proporciona canonades d’elements per crear funcions en una aranya que pugui realitzar diverses operacions, com ara substituir valors en dades, etc.
Què és un rastrejador web?
Un rastrejador web és un programa que cerca documents al web automàticament. Estan principalment programats per a accions repetitives per a la navegació automàtica.
Com funciona?
Un rastrejador web és força similar a un bibliotecari. Cerca la informació al web, classifica la informació i, a continuació, indexa i cataloga la informació de la informació rastrejada per recuperar-la i emmagatzemar-la en conseqüència.
Les operacions que realitzarà el rastrejador es creen prèviament i, a continuació, el rastrejador realitza totes aquelles operacions que crearan un índex. Es pot accedir a aquests índexs mitjançant un programari de sortida.
diferència entre la sobrecàrrega del mètode i la substitució del mètode
Vegem diverses aplicacions per a les quals es pot utilitzar un rastrejador web:
Els portals de comparació de preus cerquen detalls específics del producte per fer una comparació de preus en diferents plataformes mitjançant un rastrejador web.
Un rastrejador web té un paper molt important en el camp de la mineria de dades per a la recuperació d’informació.
Les eines d’anàlisi de dades utilitzen rastrejadors web per calcular les dades de pàgines vistes, enllaços entrants i sortints.
Els rastrejadors també serveixen als centres d'informació per recopilar dades, com ara portals de notícies.
Com instal·lar Scrapy?
Per instal·lar scrapy al vostre sistema, es recomana instal·lar-lo en un virtualenv dedicat. La instal·lació funciona de manera similar a qualsevol altre paquet de Python, si utilitzeu conda entorn, utilitzeu l'ordre següent per instal·lar scrapy:
conda install -c conda-forge scrapy
també podeu utilitzar l'entorn pip per instal·lar scrapy,
instal·lar pip scrapy
Pot haver-hi algunes dependències de compilació en funció del vostre sistema operatiu. Scrapy està escrit en python pur i pot dependre d'alguns paquets de python com:
lxml: és un analitzador XML i HTML eficient.
parcel: una biblioteca d'extracció HTML / XML escrita a la part superior a lxml
W3lib: és un ajutador polivalent per tractar URL i codificacions de pàgines web
torçat: marc de xarxa asíncron
criptografia: ajuda a diverses necessitats de seguretat a nivell de xarxa
Començant el vostre primer projecte Scrapy
Per iniciar el vostre primer projecte Scrapy, aneu al directori o ubicació on voleu desar els fitxers i executeu l'ordre següent
nom del projecte del projecte de partida inicial
Després d'executar aquesta ordre, obtindreu els següents directoris en aquesta ubicació.
nom del projecte/
scrapy.cfg: desplega el fitxer de configuració
nom del projecte/
__init__.py: mòdul python dels projectes
analitzant fitxers XML a Java
items.py: fitxer de definició d’elements del projecte
middlewares.py: fitxer de middlewares del projecte
pipelines.py: fitxer de canalitzacions del projecte
settings.py: fitxer de configuració del projecte
aranyes /
__init__.py: un directori on més endavant col·locareu les vostres aranyes
Fent la teva primera aranya
Les aranyes són classes que definim i que s’utilitzen per recollir informació del web. Heu de subclassar scrapy.Spider i definir les sol·licituds inicials que cal fer.
Escriviu el codi de la vostra aranya en un fitxer python separat i el deseu al directori nom del projecte / aranyes del vostre projecte.
quotes_spider.py
importació de classe scrapy QuotesSpider (scrapy.Spider): name = 'quotes' def start_request (self): urls = ['http://quotes.toscrape.com/page/1/', http://quotes.toscrape.com / pàgina / 2 /,] per a URL en urls: rendiment scrapy.Request (url = url, callback = self.parse) def parse (self, response): page = response.url.split ('/') [- 2 ] filename = 'cometes-% s.html'% pàgina amb obert (nom de fitxer, 'wb') com a f: f.write (response.body) self.log ('fitxer desat% s'% nom de fitxer)
Com podeu veure, hem definit diverses funcions a les nostres aranyes,
nom: identifica l’aranya, ha de ser única durant tot el projecte.
start_requests (): ha de retornar un iterable de sol·licituds amb què l’aranya començarà a rastrejar-se.
parse (): és un mètode que es cridarà per gestionar la resposta descarregada amb cada sol·licitud.
Extracció de dades
Fins ara l’aranya no extreia cap dada, només desava tot el fitxer HTML. Una aranya escrapada sol generar molts diccionaris que contenen les dades extretes de la pàgina. Utilitzem la paraula clau rendiment en python a la devolució de trucada per extreure les dades.
com fer una matriu dinàmica a Java
importació de classe scrapy QuotesSpider (scrapy.Spider): name = 'quotes' start_urls = [http://quotes.toscrape.com/page/1/ ', http://quotes.toscrape.com/page/2/,] def parse (auto, resposta): per a pressupostos en response.css ('div.quote'): rendiment {'text': quote.css (span.text :: text '). get (),' author ': pressupost .css (small.author::text ') get (),' tags ': quote.css (div.tags a.tag :: text'). getall ()}
Quan executeu aquesta aranya, sortirà les dades extretes amb el registre.
Emmagatzematge de les dades
La forma més senzilla d'emmagatzemar les dades extretes és mitjançant l'exportació de feeds. Utilitzeu l'ordre següent per emmagatzemar les vostres dades.
crap de rastreig escrapós -o quotes.json
Aquesta ordre generarà un fitxer quotes.json que conté tots els elements rascats, serialitzats a JSON .
Això ens porta al final d’aquest article, on hem après com podem fer un rastrejador web amb scrapy en python per rascar un lloc web i extreure les dades en un fitxer JSON. Espero que tingueu clar tot el que us ha estat compartit en aquest tutorial.
Si heu trobat rellevant aquest article sobre 'Scrapy Tutorial', consulteu el document una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món.
Estem aquí per ajudar-vos en cada pas del vostre viatge i oferir un pla d’estudis dissenyat per a estudiants i professionals que vulguin ser . El curs està dissenyat per donar-vos un avantatge en la programació de Python i formar-vos tant per a conceptes bàsics com per a Python avançats juntament amb diversos M'agrada
Si teniu cap pregunta, no dubteu a fer-vos totes les vostres preguntes a la secció de comentaris de 'Tutorial de Scrapy' i el nostre equip estarà encantat de respondre-us.