A Python könyvtárak szórakoztató és hozzáférhető módszerek a Python SEO használatához való elsajátításának és használatának megkezdéséhez.
A Python könyvtár olyan hasznos funkciók és kódok gyűjteménye, amelyek lehetővé teszik számos feladat elvégzését anélkül, hogy a kódot a semmiből kellene írni.
A Pythonban több mint 100 000 könyvtár áll rendelkezésre, amelyek az adatok elemzésétől a videojátékok létrehozásáig használhatók.
Ebben a cikkben több különböző könyvtárat talál, amelyeket a SEO projektek és feladatok elvégzéséhez használtam. Mindegyikük kezdőbarát, és rengeteg dokumentációt és forrást talál az induláshoz.
Miért hasznosak a Python könyvtárak a SEO számára?
Minden Python könyvtár mindenféle funkciót és változót tartalmaz (tömbök, szótárak, objektumok stb.), Amelyek felhasználhatók különböző feladatok elvégzésére.
Hirdetés
Olvassa tovább az alábbiakban
A SEO esetében például felhasználhatók bizonyos dolgok automatizálására, az eredmények előrejelzésére és intelligens betekintésre.
Lehetséges csak vanília Python-nal dolgozni, de a könyvtárak segítségével a feladatok sokkal könnyebben, gyorsabban írhatók és teljesíthetők.
Python könyvtárak SEO feladatokhoz
Számos hasznos Python-könyvtár található a SEO feladatokhoz, ideértve az adatok elemzését, a webes kaparást és a betekintések vizualizálását.
Ez nem teljes körű lista, de ezeket a könyvtárakat találom a legjobban SEO célokra.
Pandák
A Pandas egy Python-könyvtár, amelyet táblaadatokkal dolgoznak. Magas szintű adatmanipulációt tesz lehetővé, ahol a legfontosabb adatstruktúra egy DataFrame.
A DataFrames hasonlít az Excel táblázatokhoz, azonban nem korlátozódnak a sor- és bájtkorlátokra, és sokkal gyorsabbak és hatékonyabbak is.
A Pandas használatának megkezdésének legjobb módja egy egyszerű CSV-adat (például egy webhely feltérképezése) felvétele és mentése a Pythonba DataFrame-ként.
Hirdetés
Olvassa tovább az alábbiakban
Miután ezt a Pythonban tárolta, számos különböző elemzési feladatot végezhet, beleértve az adatok összesítését, elfordítását és tisztítását.
Például, ha teljes feltérképezéssel rendelkezem a webhelyemmel, és csak azokat az oldalakat szeretném kibontani, amelyek indexelhetők, akkor a beépített Pandas függvény használatával csak azokat az URL-eket veszem fel a DataFrame-be.
import pandas as pd df = pd.read_csv('/Users/rutheverett/Documents/Folder/file_name.csv') df.head indexable = df[(df.indexable == True)] indexable
Kérések
A következő könyvtár neve Requests, és arra szolgál, hogy HTTP-kéréseket küldjön Pythonban.
A Requests különböző kérési módszereket használ, például GET és POST a kérelem benyújtásához, az eredményeket a Python tárolja.
Ennek egyik példája az URL egyszerű GET kérése, amely kinyomtatja az oldal állapotkódját:
import requests response = requests.get('https://www.deepcrawl.com') print(response)
Ezután ezt az eredményt felhasználhatja döntéshozó funkció létrehozására, ahol a 200 állapotkód azt jelenti, hogy az oldal elérhető, a 404 pedig azt, hogy az oldal nem található.
if response.status_code == 200: print('Success!') elif response.status_code == 404: print('Not Found.')
Különféle kéréseket is használhat, például fejléceket, amelyek hasznos információkat jelenítenek meg az oldalról, például a tartalom típusa vagy a válasz gyorsítótárazásának hossza.
headers = response.headers print(headers) response.headers['Content-Type']
Lehetőség van egy adott felhasználói ügynök, például a Googlebot szimulálására is, hogy kivonja a választ, amelyet ez a bot fog látni az oldal feltérképezésekor.
headers = {'User-Agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'} ua_response = requests.get('https://www.deepcrawl.com/', headers=headers) print(ua_response)
Gyönyörű leves
A Beautiful Soup egy olyan könyvtár, amelyet HTML és XML fájlokból nyernek ki az adatok.
Szórakoztató tény: A BeautifulSoup könyvtár tulajdonképpen Lewis Carroll Alice Csodaországbeli kalandjai című verséről kapta a nevét.
Hirdetés
Olvassa tovább az alábbiakban
Könyvtárként a BeautifulSoup a webfájlok értelmezésére szolgál, és leggyakrabban webes kaparásra szolgál, mivel egy HTML dokumentumot különböző Python objektumokká alakíthat át.
Például megadhat egy URL-t, és a Gyönyörű leves és a Requests könyvtár segítségével együtt kivonhatja az oldal címét.
from bs4 import BeautifulSoup import requests url="https://www.deepcrawl.com" req = requests.get(url) soup = BeautifulSoup(req.text, "html.parser") title = soup.title print(title)
Ezenkívül a find_all metódus segítségével a BeautifulSoup lehetővé teszi bizonyos elemek kinyerését az oldalról, például az összes href hivatkozást az oldalon:
Hirdetés
Olvassa tovább az alábbiakban
url="https://www.deepcrawl.com/knowledge/technical-seo-library/" req = requests.get(url) soup = BeautifulSoup(req.text, "html.parser") for link in soup.find_all('a'): print(link.get('href'))
Összerakva őket
Ez a három könyvtár együtt is használható, a Kérelmek segítségével HTTP-kérést küldünk arra az oldalra, amelyről a BeautifulSoup-ot szeretnénk használni az információk kinyeréséhez.
Ezután a nyers adatokat Pandas DataFrame-vé alakíthatjuk át a további elemzés elvégzése érdekében.
URL = 'https://www.deepcrawl.com/blog/' req = requests.get(url) soup = BeautifulSoup(req.text, "html.parser") links = soup.find_all('a') df = pd.DataFrame({'links':links}) df
Matplotlib és Seaborn
A Matplotlib és a Seaborn két Python-könyvtár, amelyeket vizualizációk készítésére használnak.
A Matplotlib segítségével számos különféle adatmegjelenítést hozhat létre, például oszlopdiagramokat, vonaldiagramokat, hisztogramokat, sőt hőtérképeket is.
Hirdetés
Olvassa tovább az alábbiakban
Például, ha néhány Google Trends adatot akartam venni a 30 napos időszakban a legnépszerűbb lekérdezések megjelenítésére, létrehozhatok egy sávdiagramot a Matplotlib-ben, hogy ezeket mind szemléltessem.
A Matplotlibre épülő Seaborn a vonalas és oszlopdiagramok mellett még több megjelenítési mintát kínál, például szórványtáblákat, dobozos ábrákat és hegedűs ábrákat.
Kissé eltér a Matplotlib-től, mivel kevesebb szintaxist használ, és beépített alapértelmezett témákkal rendelkezik.
Hirdetés
Olvassa tovább az alábbiakban
A Seaborn egyik módja a vonaldiagramok létrehozása a naplófájl-találatok vizualizálása érdekében a webhely bizonyos szegmenseiben idővel.
sns.lineplot(x = "month", y = "log_requests_total", hue="category", data=pivot_status) plt.show()
Ez a példa egy pivot tábla adatait veszi át, amelyeket a Pythonban tudtam létrehozni a Pandas könyvtár segítségével, és egy másik módja annak, hogy ezek a könyvtárak együttműködve könnyen érthető képet alkossanak az adatokból.
Advertools
Az Advertools egy könyvtár, amelyet Elias Dabbas amelyek felhasználhatók a SEO szakemberek és digitális marketingszakemberek adatainak alapján történő kezelésre, megértésre és döntések meghozatalára.
Hirdetés
Olvassa tovább az alábbiakban
Webhelytérkép elemzése
Ez a könyvtár lehetővé teszi számos különféle feladat végrehajtását, például az XML-webhelytérképek letöltését, elemzését és elemzését minták kibontásához vagy a tartalom hozzáadásának vagy módosításának gyakoriságához.
Robots.txt elemzés
Egy másik érdekes dolog, amelyet ezzel a könyvtárral megtehet, az, hogy egy függvény segítségével kibontja a webhely robots.txt fájlját egy DataFrame-be, hogy könnyebben megérthesse és elemezze a beállított szabályokat.
Tesztet is futtathat a könyvtárban annak ellenőrzésére, hogy egy adott felhasználói ügynök képes-e lekérni bizonyos URL-eket vagy mappaútvonalakat.
URL elemzés
Az Advertools lehetővé teszi az URL-ek elemzését és elemzését is annak érdekében, hogy információkat nyerjen ki, és jobban megértse az elemzéseket, az SERP-t és az URL-ek bizonyos csoportjainak feltérképezését.
Az URL-eket fel is oszthatja a könyvtár segítségével, hogy meghatározzon olyan dolgokat, mint a használt HTTP-séma, a fő elérési út, a további paraméterek és a lekérdezési karakterláncok.
Szelén
A Selenium egy Python könyvtár, amelyet általában automatizálási célokra használnak. A leggyakoribb eset a webalkalmazások tesztelése.
Hirdetés
Olvassa tovább az alábbiakban
Az áramlás automatizálásának egyik népszerű példája egy szkript, amely megnyitja a böngészőt, és számos különböző lépést hajt végre meghatározott sorrendben, például kitölti az űrlapokat vagy rákattint bizonyos gombokra.
A szelén ugyanazt az elvet alkalmazza, mint amit a Requests könyvtárban használtunk, és amelyet korábban már bemutattunk.
Azonban nem csak elküldi a kérést és megvárja a választ, hanem megjeleníti a kért weboldalt is.
A Selenium használatának megkezdéséhez szüksége lesz egy WebDriverre, hogy interakcióba léphessen a böngészővel.
Minden böngészőnek megvan a saját WebDriver-je; A Chrome-ban van például a ChromeDriver, a Firefoxban pedig a GeckoDriver.
Ezeket egyszerűen letöltheti és beállíthatja a Python-kóddal. Itt van egy hasznos cikk, amely elmagyarázza a telepítési folyamatot, egy példa projekt segítségével.
Érdes
Az utolsó könyvtár, amelyet ebben a cikkben meg akartam fedni, a Scrapy.
Bár a Requests modult használhatjuk belső adatok feltérképezésére és kinyerésére egy weboldalról, az adatok átadása és hasznos betekintés érdekében össze kell kapcsolnunk a BeautifulSoup-tal.
Hirdetés
Olvassa tovább az alábbiakban
A selejtezés lényegében lehetővé teszi, hogy ezeket mind egy könyvtárban végezze el.
A selejtezés emellett lényegesen gyorsabb és hatékonyabb, kitöltési kéréseket teljesít, meghatározott sorrendben kivonja és elemzi az adatokat, és lehetővé teszi az adatok árnyékolását.
A Scrapy-n belül számos utasítást határozhat meg, például a feltérképezni kívánt tartomány nevét, a kezdő URL-t és bizonyos oldalmappákat, amelyekbe a pók be vagy be nem engedi feltérképezni.
A selejtezés felhasználható az összes oldal összes hivatkozásának kibontására és például egy kimeneti fájlba történő tárolására.
class SuperSpider(CrawlSpider): name="extractor" allowed_domains = ['www.deepcrawl.com'] start_urls = ['https://www.deepcrawl.com/knowledge/technical-seo-library/'] base_url="https://www.deepcrawl.com" def parse(self, response): for link in response.xpath('//div/p/a'): yield { "link": self.base_url + link.xpath('.//@href').get() }
Ezt az egy lépést továbblépve követheti a weboldalon található hivatkozásokat, hogy információkat nyerjen ki az összes olyan oldalról, amelyre a kezdő URL-hez kapcsolódnak, olyanok, mint a Google találatának kis léptékű replikációja és az oldalon található linkek.
from scrapy.spiders import CrawlSpider, Rule class SuperSpider(CrawlSpider): name="follower" allowed_domains = ['en.wikipedia.org'] start_urls = ['https://en.wikipedia.org/wiki/Web_scraping'] base_url="https://en.wikipedia.org" custom_settings = { 'DEPTH_LIMIT': 1 } def parse(self, response): for next_page in response.xpath('.//div/p/a'): yield response.follow(next_page, self.parse) for quote in response.xpath('.//h1/text()'): yield {'quote': quote.extract() }
Tudjon meg többet ezekről a projektekről, a többi példaprojekt mellett, itt.
Végső gondolatok
Ahogy Hamlet Batista mindig mondta: „a legjobb módszer a tanulás az, ha csinálunk.”
Hirdetés
Olvassa tovább az alábbiakban
Remélem, hogy a rendelkezésre álló könyvtárak felfedezése arra ösztönözte Önt, hogy kezdje el a Python tanulását, vagy elmélyítse ismereteit.
Python-hozzájárulások a SEO iparágtól
Hamlet szerette a Python SEO közösség tagjainak erőforrásait és projektjeit megosztani. Hogy tiszteljem mások ösztönzésének szenvedélyét, meg akartam osztani néhány csodálatos dolgot, amelyet a közösségtől láttam.
Csodálatos tisztelgésként Hamlet és a SEO Python közösség iránt, amelynek elősegítésében segített, Charly Wargnier SEO Pythonistákat hozott létre, hogy összegyűjtse azokat a csodálatos Python-projekteket, amelyeket a SEO-közösség létrehozott.
Bemutatjuk Hamlet felbecsülhetetlen értékű hozzájárulását a SEO közösséghez.
Moshe Ma-yafit létrehozott egy nagyon jó szkriptet a naplófájlok elemzéséhez, és ebben a bejegyzésben elmagyarázza a szkript működését. A megjeleníthető vizualizációk, beleértve a Google Bot találatokat eszközönként, a napi találatokat válaszkód szerint, a válaszkódot,% Total és még sok mást.
Koray Tüberk GÜBÜR jelenleg egy webhelytérkép-állapotellenőrzőn dolgozik. A RankSense internetes szemináriumnak is otthont adott Elias Dabbas-szal, ahol megosztott egy szkriptet, amely SERP-ket és elemző algoritmusokat rögzít.
Hirdetés
Olvassa tovább az alábbiakban
Lényegében rendszeres időbeli különbségekkel rögzíti a SERP-eket, és feltérképezheti az összes céloldalt, összekeverheti az adatokat és létrehozhat néhány összefüggést.
John McAlpin cikket írt arról, hogy miként lehet a Python és a Data Studio segítségével kémkedni versenytársaival.
JC Chouinard teljes útmutatót írt a Reddit API használatáról. Ezzel olyan dolgokat hajthat végre, mint például az adatok kinyerése a Redditből és a feladások egy Subredditbe.
Rob May egy új GSC elemző eszközön dolgozik, és néhány új domain / valós webhelyet épít a Wix-ben, hogy összehasonlítsa a felsőbb kategóriájú WordPress versenytársával, miközben dokumentálja azt.
Masaki Okazawa megosztott egy szkriptet is, amely a Google Search Console adatait elemzi a Python-nal.
🎉 Boldog # RSTwittorial Csütörtök @saksters 🥳
A Google Search Console adatainak elemzése a következővel: #Piton 🐍🔥
Itt van a kimenet 👇 pic.twitter.com/9l5Xc6UsmT
– RankSense (@RankSense) 2021. február 25
További források:
Hirdetés
Olvassa tovább az alábbiakban
Kép jóváírások
A szerző összes képernyőképe, 2021. március