Verkon kaavinta on tehokas tapa kerätä tietoja verkkosivuilta, ja siitä on tullut tehokas työkalu . Erilaisten kanssa kirjastot läsnä web kaavinta kuten , datatieteilijän työstä tulee optimaalinen. Scrapy on tehokas verkkokehys, jota käytetään tietojen purkamiseen, käsittelyyn ja tallentamiseen. Opimme kuinka voimme tehdä indeksoijan tässä romutusoppaassa, tässä blogissa käsitellään seuraavia aiheita:
muuntaa kaksinkertainen kokonaisluvuksi Java-muodossa
- Mikä on romu?
- Mikä on Web-indeksoija?
- Kuinka romu asennetaan?
- Ensimmäisen romuprojektin aloittaminen
- Ensimmäisen hämähäkin tekeminen
- Pura tietoja
- Poimittujen tietojen tallentaminen
Mikä on romu?
Scrapy on ilmainen ja avoimen lähdekoodin web-indeksointikehys, joka on kirjoitettu pythonilla. Se oli alun perin suunniteltu esiintymään , mutta sitä voidaan käyttää myös tietojen purkamiseen API: illa. Sitä ylläpitää Scrapinghub ltd.
Scrapy on täydellinen paketti verkkosivujen lataamiseen, tietojen käsittelyyn ja tallentamiseen .
Se on kuin voimanpesä, kun on kyse verkon kaapimisesta useilla tavoilla kaapata verkkosivusto. Scrapy käsittelee isommat tehtävät helposti, kaapimalla useita sivuja tai URL-osoitteita alle minuutissa. Se käyttää synkronia, joka toimii asynkronisesti samanaikaisuuden saavuttamiseksi.
Se tarjoaa hämähäkkisopimuksia, joiden avulla voimme luoda sekä yleisiä että syviä indeksoijia. Scrapy tarjoaa myös tuoteputkijonoja toimintojen luomiseksi hämähäkkiin, joka voi suorittaa erilaisia toimintoja, kuten korvata datan arvot jne.
Mikä on Web-indeksoija?
Verkkorobotti on ohjelma, joka etsii asiakirjoja verkosta automaattisesti. Ne on ensisijaisesti ohjelmoitu toistuviin toimiin automaattista selaamista varten.
Kuinka se toimii?
Verkkorobotti on melko samanlainen kuin kirjastonhoitaja. Se etsii tietoja verkosta, luokittelee tiedot ja indeksoi ja luetteloi indeksoidut tiedot noudettavaksi ja tallennettavaksi vastaavasti.
Indeksoijan suorittamat toiminnot luodaan etukäteen, sitten indeksointirobotti suorittaa kaikki ne toiminnot, jotka luovat hakemiston. Näihin hakemistoihin pääsee tulostusohjelmistolla.
Katsotaanpa erilaisia sovelluksia, joihin web-indeksoijaa voidaan käyttää:
Hintavertailuportaalit etsivät tiettyjä tuotetietoja verratakseen hintoja eri alustoilla web-indeksoijan avulla.
Verkkorobotilla on erittäin tärkeä rooli tiedon louhinnassa tiedonhakua varten.
Tietojen analysointityökalut käyttävät indeksointirobotteja laskemaan myös sivunäkymien, saapuvien ja lähtevien linkkien tiedot.
Indeksoijat palvelevat myös tietokeskuksissa tietojen keräämiseksi, kuten uutisportaalit.
Kuinka romu asennetaan?
Jos haluat asentaa romun järjestelmään, on suositeltavaa asentaa se erilliseen virtualenv: ään. Asennus toimii melko samalla tavalla kuin mikä tahansa muu python-paketti, jos käytät conda ympäristössä, asenna roskat seuraavalla komennolla:
conda install -c conda-forge romu
voit käyttää pip-ympäristöä myös romun asentamiseen,
pip asennus romu
Käyttöjärjestelmästäsi riippuen voi olla muutama kokoamisriippuvuus. Scrapy kirjoitetaan puhtaana pythonina ja se voi riippua muutamasta python-paketista, kuten:
lxml - Se on tehokas XML- ja HTML-jäsennin.
paketti - HTML / XML-purkakirjasto, joka on kirjoitettu lxml: n päälle
W3lib - Se on monikäyttöinen auttaja URL-osoitteiden ja verkkosivujen koodauksien käsittelyyn
kierretty - asynkroninen verkkokehys
salaus - Se auttaa erilaisissa verkkotason tietoturvatarpeissa
Ensimmäisen romuprojektin aloittaminen
Aloita ensimmäinen romutusprojekti siirtymällä hakemistoon tai sijaintiin, johon haluat tallentaa tiedostot, ja suorita seuraava komento
aloitusprojektin projektin nimi
Kun olet suorittanut tämän komennon, saat seuraavat hakemistot luotu kyseiseen sijaintiin.
projektin nimi/
scrapy.cfg: se ottaa käyttöön määritystiedoston
projektin nimi/
__init__.py: projektien python-moduuli
items.py: projektikohteiden määritystiedosto
middlewares.py: projekti middlewares-tiedosto
pipelines.py: projekti putkistotiedosto
settings.py: projektiasetustiedosto
hämähäkit /
__init__.py: hakemisto, johon myöhemmin laitat hämähäkit
Ensimmäisen hämähäkin tekeminen
Hämähäkit ovat luokkia, jotka määrittelemme ja joita käytämme tietojen keräämiseen verkosta. Hämähäkki ja määrittele aloituslähetykset alaluokassa.
Kirjoitat hämähäkkisi koodin erilliseen python-tiedostoon ja tallennat sen projektisi projekti- / hämähäkkihakemistoon.
quotes_spider.py
tuo romutusluokka QuotesSpider (scrapy.Spider): name = 'quotes' def start_request (self): urls = ['http://quotes.toscrape.com/page/1/', http://quotes.toscrape.com / page / 2 /,] URL-osoitteille URL-osoitteissa: tuotto scrapy.Request (URL = url, callback = self.parse) def parse (itse, vastaus): page = response.url.split ('/') [- 2 ] filename = 'quotes-% s.html'% sivu avoimella (tiedostonimi, 'wb') muodossa f: f.write (response.body) self.log ('tallennettu tiedosto% s'% tiedostonimi)
Kuten näette, olemme määrittäneet useita toimintoja hämähäkkeihimme,
nimi: Se tunnistaa hämähäkin, sen on oltava ainutlaatuinen koko projektin ajan.
start_requests (): On palautettava toistettavissa oleva pyyntö, jonka hämähäkki alkaa indeksoida.
parse (): Se on menetelmä, jota kutsutaan käsittelemään jokaisen pyynnön yhteydessä ladattu vastaus.
Pura tietoja
Tähän asti hämähäkki ei poimi mitään tietoja, vaan vain tallensi koko HTML-tiedoston. Hävityshämähäkki tuottaa tyypillisesti monia sanakirjoja, jotka sisältävät sivulta kerätyt tiedot. Käytämme palautushakua pythonissa soittopyynnössä tietojen purkamiseen.
tuo romutusluokka QuotesSpider (scrapy.Spider): name = 'quotes' start_urls = [http://quotes.toscrape.com/page/1/ ', http://quotes.toscrape.com/page/2/,] def parsinta (itse, vastaus): lainaukseen vastauksessa.css ('div.quote'): tuottaa {'text': quote.css (span.text :: text '). get (),' author ': quote .css (small.author::text ') get (),' tags ': quote.css (div.tags a.tag :: text'). getall ()}
Kun suoritat tämän hämähäkin, se tuottaa puretut tiedot lokin kanssa.
Tietojen tallentaminen
Yksinkertaisin tapa tallentaa puretut tiedot on käyttää syötteen vientiä, tallenna tiedot seuraavalla komennolla.
romuttamaton indeksointikurssi -o quotes.json
Tämä komento luo quotes.json-tiedoston, joka sisältää kaikki kaapitut kohteet, sarjoitettuna JSON .
Tämä vie meidät tämän artikkelin loppuun, jossa olemme oppineet, miten voimme tehdä web-indeksoijan python-hakemiston avulla kaavamaan verkkosivuston ja purkamaan tiedot JSON-tiedostoon. Toivon, että olet selvillä kaikesta, mitä sinulle on jaettu tässä opetusohjelmassa.
Jos löysit tämän artikkelin ”Otetusta oppaasta”, ole hyvä, tutustu luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, levinneenä ympäri maailmaa.
Autamme sinua matkan jokaisessa vaiheessa ja keksimme opetussuunnitelman, joka on suunniteltu opiskelijoille ja ammattilaisille, jotka haluavat olla . Kurssi on suunniteltu antamaan sinulle etumatka Python-ohjelmointiin ja kouluttamaan sinua sekä ydin- että edistyneille Python-käsitteille yhdessä muiden kanssa Kuten
Jos kohtaat kysyttävää, voit kysyä kaikki kysymyksesi romuttamisopastuksen kommenttiosasta, ja tiimimme vastaa mielellään.