Oktatóanyag: Go Spider! Webes kaparás Python-nal és Scrapy

(Schwinn Zhang) (2019.01.19.)

képforrás: https://myfigurecollection.net/item/736413

Valószínűleg hallott a „webkaparásról”. Ha még nem tette meg, akkor a webes kaparás azt jelenti, hogy számítógépes algoritmus segítségével megragadja a céladatokat egy webhelyről. A Scrapy python könyvtár pontosan erre a feladatra készült. A gyönyörű leves egy másik lehetőség, de lassú. Mindenesetre el akarja sajátítani ezt a készséget szoftverépítéshez, adattudományhoz vagy a Kremlhez (kacsintás). Rengeteg oktatóanyag létezik ebben a témában. “Hol kezdjem?” – Van erre útiterv? Három nap elteltével jó, rossz és elavult információk átkutatása után itt vagyok, hogy átadjam neked ezt az internetes lekaparás ütemtervét.

Hol kezdjem

A tervem az volt, hogy kövessem a python ezen a listán vetít. Ha úgy döntött, hogy a Twitter Mining -vel kezdi, akkor JÓ SZERENCSÉT (gúnyosan), mert továbbra is várom a Twitteren, hogy 5 nap múlva hozzáférhessek az API-hoz 17 óra és 7 perc. Szóval, elmaradt figyelmeztetés! Természetesen a következőre léptem: Weboldal kaparása Python (és MongoDB) használatával . Az egyszerűség kedvéért zárójelbe tettem a MongoDB-t. A MongoDB sok időbe fog kerülni, és a kis programomhoz nem is szükséges. Inkább egy teljes python webkaparót működtetnék, majd később hozzáadom a MongoDB funkcionalitást. Az időgazdálkodás azt jelenti, hogy levágjuk a triggert és eljutunk a lényegig. Software Dev 101. Mindenesetre kövesse ezt a cikket Kaparjon meg egy webhelyet Python (és MongoDB) használatával , és megismerheti az internetes kaparás működését.

XPath vs CSS? A CSS-t választom

Ezután elakadtam az úgynevezett XPath nevű programban, alapvetően egy URL alapú utasításban, amely a cserkészpókunk célinformációit jelzi. Kiterjedt oktató böngészés után megtaláltam ezt a takaros ételjátékot , amely segít megtanulni és gyakorolni az XPath írását. Ha még mindig retteg az XPath-tól, van egy másik módja is, amelyet az oktató cikk nem említett meg.

A oldalról a Scrapy bemutató a dokumentációjában, megtaláltam barát CSS, amelynek egyszerű és egyértelműbb a szintaxisa. Valójában a Scrapy dokumentáció a legjobb oktatóanyag. Ez a legfrissebb, alapos és sok blog oktatóanyag erre épül. Ebben az oktatóanyagban megtaláltam a legjobb módszert a webinformációk célzására a Scrapy IPython-héja, alapvetően egy Jupyter Notebook segítségével a terminálon. A parancssorban használja a

scrapy shell [URL idézőjelben]

Ezután kövesse a Scrapy oktatóanyagot az quotes.toscrape.com webhelyen. Ideális példa, mert a webhely egyszerű, nagyon kevés beágyazott CSS-rel rendelkezik. Néhány forduló után már junior vagy, és kaparod a Ninját. Ezen a ponton elég magabiztosnak éreztem magam, hogy kikaparjam az összes címsort a New York Times címoldaláról . Íme, lehetetlen feladat volt ezen a ponton, mert az első oldal lenyűgözően be van ágyazva. Nos, a címlap csak az egyes szakaszok cikkeinek kurátora, ugye? Ezt a logikát követve át tudtam menni az egyszerűbb Op-Ed és az Art szekcióba, hogy sikeresen lekaparjam az összes címsort. Itt van a repo a git-en.

Tehát itt az első pókom. Több funkciót és funkciót kell beépítenem. De egyelőre működik. Láthatja, hogy az NYT Op-Ed oldalán található összes címet egy json fájl tárolta itt. Itt egy képernyőkép. Itt találhat duplikátumokat. Jól van. Utána elkészíthetünk egy detektor duplikátumot. Azt is tervezem, hogy több hírforrásból kaparok le, és eredményeiket ugyanabba a fájlba teszem.

NYT OpEdTitles kaparó eredmények. Forrás: Schwinn Zhang

A Pók algoritmus összefoglalása

Következő lépések

  1. Hibakeresés és / vagy funkciók hozzáadása a pókhoz
  2. Próbálja kaparni egy adatkészletet. Itt egy jó oktatóanyag: A Scrapy használata saját adatkészlet létrehozásához .

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük