Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk.
A HTML lekaparása macerás lehet, ezért bizonyosodjon meg arról, hogy megértette ezt a folyamatot egy kis Python gyakorlattal.
A Twitter a valaha létezett egyik legbefolyásosabb közösségi média platform. Emberek milliói, köztük vezető politikusok, hírességek és vezérigazgatók használják a platformot mindennapi gondolataik megosztására.
A Felkapott lap az egyik legjobb hely a valós idejű hírek és a közösségi média hangulatának megszerzésére. Ezeket az adatokat elemezheti és felhasználhatja márkahirdetések tervezésére, kampányok futtatására, valamint az eladások hajtásokkal történő növelésére. De hogyan szerezheti meg a tíz legnépszerűbb hashtaget a Twitteren?
Az algoritmusépítési folyamat
Bármely program létrehozásának első lépése, hogy feljegyezze és megértse a Twitter-kaparó létrehozásához szükséges lépéseket. Ők:
- Nyissa meg a Google Chrome-ot.
- Látogassa meg a Twitter felkapott oldalát.
- Gyűjtsd össze a hashtageket és a hozzájuk tartozó oldallinkeket.
- Mentse el az adatokat egy táblázatba.
Ez szolgál a problémafelvetés algoritmusaként.
A Twitter weboldal megértése
Tudnia kell, hogyan jelöli meg egy weboldal az adatait, mielőtt kibonthatja azokat. Sokat segít, ha jól érted a HTML alapjai és CSS.
Kövesse az alábbi lépéseket annak megállapításához, hogy a Twitter hogyan reprezentálja a felkapott hashtaget és annak URL-címét:
- Látogatás A Twitter felkapott oldala. El is navigálhat ide Twitter.com → Fedezd fel → Felkapott megnézni.
- Vizsgálja meg a fő oszlopot a Chrome Dev Tools segítségével. Menj Menü (3 pont)>További eszközök >Fejlesztői eszközök és vigye az elemválasztó eszközt a felkapott terület fölé.
- A felkapott idővonal a div egy valamivel ária-címke attribútum, amelynek értéke "Idővonal: Felfedezés". Mutasson az egérrel a jelölés fölé a Elemek panelt, hogy jobban megértsük az oldal szerkezetét. Egy másik div tárolja a felkapott hashtaget/témát. Használja ezt a divet számlálóként, és ismételje meg a felkapott témát/hashtaget tartalmazó oldal összes divjét. A tartalom tárolása a span vagy pár fesztávelem. Figyelje meg a nyitott lapot, és jegyezze fel a hierarchiát. Ezzel XPath kifejezést hozhat létre. Ennek a konkrét elemnek az XPath kifejezése a következő:
Iterálja és célozza meg a div[3], div[4], div[5] és így tovább. A tíz legjobb hashtag esetében a számláló 3-tól 13-ig tart. Az általánosított XPath a következőképpen alakul:'//div[@aria-label="Idővonal: Felfedezés"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
//div[@aria-label="Idővonal: Felfedezés"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
- Kattintson bármelyik hashtagra, hogy megértse oldalainak URL-jét. Ha összehasonlítja az URL-eket, észre kell vennie, hogy csak a lekérdezési paraméter változik, hogy megfeleljen a hashtag nevének. Ezt a betekintést felhasználhatja URL-ek létrehozására anélkül, hogy ténylegesen kicsomagolná azokat.
Ez a projekt a következő Python modulokat és eszközöket használja:
1. Panda modul
tudsz használja a Pandas DataFrame osztályt a hashtagek és a hozzájuk tartozó hivatkozások táblázatos formátumban való tárolására. Ez akkor lesz hasznos, ha ezeket a tartalmakat egy külsőleg megosztható CSV-fájlhoz adja hozzá.
2. Idő modul
Használja az Idő modult, hogy késleltetést adjon a Python programhoz, hogy lehetővé tegye az oldal tartalmának teljes betöltését. Ez a példa 15 másodperces késleltetést használ, de kísérletezhet, és kiválaszthatja a körülményeinek megfelelő késleltetést.
3. Szelén modul
A szelén automatizálhatja az internettel való interakció folyamatát. Használhatja egy webböngésző példányának vezérlésére, megnyithatja a felkapott oldalt, és lefelé görgetheti. A Selenium Python-környezetbe történő telepítéséhez nyissa meg a Terminál és végrehajtanipip install szelén.
4. Web Driver
Használjon webes illesztőprogramot a Seleniummal kombinálva a böngészővel való interakcióhoz. Különféle web-illesztőprogramok állnak rendelkezésre az automatizálni kívánt böngészőtől függően. Ehhez az összeállításhoz használja a népszerű Google Chrome böngészőt. A web-illesztőprogram telepítése a Chrome-hoz:
- Ellenőrizze a használt böngésző verzióját a következő oldalon: Menü (3 pont) > Súgó>A Google Chrome-ról.
- Jegyezze fel a böngésző verzióját; ebben az esetben a 106.0.5249.62.
- Menj a tiédhez Terminál és írja be pip install chromedriver-binary==verziószám:
Ha nincs megfelelő verzió, a pip megjeleníti az elérhető verziók listáját; válassza ki a krómozott verziójához legközelebb esőt.csipog telepítés chromeddriver-bináris==106.0.5249.62
Hogyan építsük fel a Twitter-kaparót
Kövesse ezeket a lépéseket a program felépítéséhez, és valós idejű felkapott hashtagek megjelenítéséhez. Ebben megtalálod a teljes forráskódot GitHub Repository.
- Importálja a szükséges modulokat a Python környezetbe.
# a szükséges modulok importálása
tól től szelén import webdriver
tól tőlszelén.webdriver.gyakori.általimportÁltal
import chromeddriver_binary
import idő
import pandák mint pd - Hozzon létre egy objektumot a ChromeDriver inicializálásához, és indítsa el a Google Chrome böngészőt a webdriver. Króm() funkció.
# nyissa meg a Google Chrome böngészőt
böngésző = webdriver. Króm() - Nyissa meg a Twitter felkapott oldalát az URL-cím átadásával a kap() funkció.
# nyissa meg a Twitter felkapott oldalát
browser.get('https://twitter.com/explore/tabs/trending') - Alkalmazzon késleltetést, hogy az oldal tartalma teljesen betöltődik.
# késleltetés az oldaltartalom betöltésében
idő.alvás(15) - Hozzon létre egy üres listát a hashtagek tárolására, és deklaráljon egy ciklust, amely 3 és 13 között fut, hogy megfeleljen az XPath kifejezés korábbi változójának.
# inicializálja a listát a felkapott témák és hashtagek tárolására
trending_topic_content=[]# témakörök és hashtagek gyűjtése a Twitter felkapott oldalán
i tartományban (3,13): - Használja a kereső_elem() függvényt, és adja át az XPath választót, hogy megkapja a felkapott témákat és hashtageket a Twitteren:
xpath = f'//div[@aria-label="Idővonal: Felfedezés"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
trending_topic = browser.find_element (XPATH, xpath)
trending_topic_content.mellékel(trend téma.szöveg) - Hozzon létre egy üres listát az összes URL tárolásához, és deklaráljon egy ciklust, amely az összes hashtagen keresztül fut.
A szelet operátorral hagyja ki a hashtaget az URL létrehozásához, és cserélje ki a szóközöket URL-kódolással, %20. Adja hozzá a hivatkozásokat a listához.# hozzon létre URL-eket az összegyűjtött hashtagek használatával
urls=[]
nekem a trending_topic_contentben:if i.starswith("#"):
i = i[1:]
url='https://twitter.com/search? q=%23' + i + '&src=trend_click'
más:
url = 'https://twitter.com/search? q=' + i + '&src=trend_click'
url = url.replace("", "%20")
URL-ek.mellékel(url) - Hozzon létre egy kulcs-érték pár szótárt hashtagként kulcsokkal és URL-címükkel értékekkel.
# hozzon létre egy szótárt, amely tartalmazza a hashtaget és az URL-eket is
dic={'Kettőskereszt':trending_topic_content,'URL':urls} - Alakítsa át a strukturálatlan szótárt táblázatos DataFrame keretté.
# konvertálja a szótárt adatkeretté pandákban
df=pd. DataFrame (dic)
nyomtatás(df) - Mentse a DataFrame-et egy CSV-fájlba, amelyet megtekinthet a Microsoft Excelben, vagy tovább dolgozhat.
# konvertálja az adatkeretet vesszővel tagolt érték formátumba sorozatszámok nélkül
df.to_csv("Twitter_HashTags.csv",index=False)
Szerezzen értékes betekintést a webkaparás segítségével
A webkaparás hatékony módszer a kívánt adatok megszerzésére és azok elemzésére a döntések meghozatalához. A Beautiful Soup egy lenyűgöző könyvtár, amelyet telepíthet és használhat bármilyen HTML- vagy XML-fájlból a Python segítségével.
Ezzel feltérképezheti az internetet, hogy valós idejű híreket, termékek árait, sporteredményeket, részvények értékét stb.