Elemzési és feldolgozása weboldalakat kiválasztani a legjobb php könyvtár

Elemzési és feldolgozása weboldalakat kiválasztani a legjobb php könyvtár

Spars feladat és folyamat a szükséges információkat egy harmadik fél webhelyén szembesíti webfejlesztő, és gyakran a különböző okok miatt: így adja meg a projekt tartalmát, dinamikusan betölteni néhány információt, és így tovább.







Ezekben az esetekben a programozó kérdést: melyik a több tucat könyvtárak választani? Ebben a cikkben megpróbáltuk úgy legnépszerűbb lehetőségek és kiválasztja a legjobbat.

reguláris kifejezések

Még annak ellenére, hogy az „alapszakaszban” - az első dolog, ami eszembe jut, hogy használja őket az ilyen projektek nem szükséges.

Igen, az egyszerű feladatok Regex megbirkózni jobban, mint bárki, de használata sokkal nehezebb, amikor szükség van Spars nagy és összetett darab HTML-kódot, amely ráadásul nem minden esetben felelnek meg egy adott minta nem tartalmaz, s szintaktikai hibákat.

XPath és a DOM

DOM és XPath nem könyvtárak a szokásos értelemben vett, szabványos modulok be vannak építve a PHP, mivel az ötödik változat. Ez nem kell használni a harmadik féltől származó megoldásokat teszi őket az egyik legjobb eszköz az elemzés a HTML oldalak.

Első pillantásra úgy tűnhet, hogy az alacsony belépési küszöb - ez nem róluk, egyes helyeken valóban meglehetősen bonyolult. De ez csak első pillantásra: meg kell érteni egy kicsit a szintaxis és alapelveket, mint XPath lesz mindjárt az eszköz kiszűri az első számú.

Például a kódot a DOM és az XPath, ami nézi a címkéket és módosítja az src attribútum:

Azonban ez a lehetőség nem érő hátrányok nélkül - parsolásra motor használják, elsősorban az XML, de az XML és a HTML, bár nagyon hasonló nyelven, de mégis más. Ebből következik az egyedi megjelölésére vonatkozó előírásokat: például az összes HTML kell zárni.







Egyszerű HTML DOM

Egyszerű HTML DOM - PHP-könyvtár lehetővé teszi, hogy elemezze a HTML-kódot a kényelmes jQuery-szerű választókat.

Ez mentes XPath nagy hátránya - a könyvtár képes dolgozni, még az érvénytelen HTML-kódot, amely nagyban megkönnyíti a munkát. Azt is felejtsd el a kódoló problémák: Minden konverzió automatikusan végrehajtásra kerülnek.

Ebben a példában az első töltve, majd előre elkészített módosított HTML-kód: a második sorban fordul azzal a kiegészítéssel, class attribútum értéke az első bár elem esett div. és a következő sorban, hogy cserélje ki a szöveget elem id = „világ” to ize.

$ Html = str_get_html (

Helló
világ
„);

$ Html -> find ( 'div' 1.) -> class = 'bar';

$ Html -> find ( 'div [id = világ]' 0) -> innerText = 'foo';

Bár nem a leggyorsabb teljesítményt, míg más lehetőség, Simple HTML DOM a legnagyobb orosz ajkú közösség és a legnagyobb előfordulási RuNet - a kezdők, ez biztosítja az írás kód használata sokkal könnyebb.

Portolták szinte mindent, ami a keret, JS-: támogatja a szelektor, attribútumok, manipuláció, kijátszása, plug-inek, események (beleértve szimuláló kattintások stb), és még AJAX. Lehet használni, mint egy PHP-n keresztül, vagy a parancssorból, mint egy külön alkalmazás.

Fontos továbbá, hogy a referenciaértékek phpQuery megjelent 8 (!) Szer gyorsabb Simple HTML DOM.

Egy kis példa a phpQuery, ahol a feldolgozó történik előre kiválasztott lista elemeinek (li):

Ahogy a hagyományos mysql_ funkciók módszerekkel fetch_array () vagy fetch_objects (), akkor az eredményt kapjuk, a lekérdezés formájában a szokásos asszociatív tömb, vagy objektum.

Azt is érdemes megemlíteni a nagy sebességű htmlSQL: ő gyakran konzultál többször gyorsabb phpQuery vagy ugyanolyan egyszerű HTML DOM.

Azonban a komplex feladatokat, akkor nem lehet a funkcionalitás és a könyvtár fejlesztési sokáig megállt. De még így is, ez még érdekes, hogy a webfejlesztők: bizonyos esetekben sokkal kényelmesebb használni az SQL nyelv a CSS-választókat. Különösen, ha nem tudom, mi a CSS-választókat 😉

Egy mini-tanulmány arra a következtetésre jutottunk, hogy a legtöbb esetben jobb, ha parsolásra phpQuery könyvtár: ez gyors, praktikus és modern.

Másrészt, nagyon egyszerű feladat lenne logikus, hogy a szabványos PHP modulok, mint például XPath, DOM, vagy szélsőséges esetben a reguláris kifejezéseket.

Valami más?

PHP, még mindig több tucat különböző könyvtárak és eszközök elemzés, de ebben a cikkben már úgy csak a legérdekesebb, funkcionális és produktív.

Ha nem használja a PHP, akkor talál egy rövid listát a hasonló eszközök más nyelveken: