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.

Által Sai Ashish Konchada
Ossza megCsipogOssza megEmail

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:

  1. Nyissa meg a Google Chrome-ot.
  2. Látogassa meg a Twitter felkapott oldalát.
  3. Gyűjtsd össze a hashtageket és a hozzájuk tartozó oldallinkeket.
  4. 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:

  1. Látogatás A Twitter felkapott oldala. El is navigálhat ide Twitter.comFedezd felFelkapott megnézni.
  2. 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é.
  3. 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ő:
    '//div[@aria-label="Idővonal: Felfedezés"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    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[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
  4. 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:

  1. 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.
  2. Jegyezze fel a böngésző verzióját; ebben az esetben a 106.0.5249.62.
  3. Menj a tiédhez Terminál és írja be pip install chromedriver-binary==verziószám:
    csipog telepítés chromeddriver-bináris==106.0.5249.62
    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.

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.

  1. 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
  2. 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()
  3. 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')
  4. 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)
  5. 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):

  6. 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)
  7. 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.
    # hozzon létre URL-eket az összegyűjtött hashtagek használatával
    urls=[]
    nekem a trending_topic_contentben:
    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.
    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)
  8. 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}
  9. 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)
  10. 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.

Készítsen webhelyet ezzel a gyönyörű leves Python oktatóanyaggal

Olvassa el a következőt

Ossza megCsipogOssza megEmail

Kapcsolódó témák

  • Programozás
  • Programozás
  • Piton
  • Webfejlesztés
  • Webkaparás
  • Twitter

A szerzőről

Sai Ashish Konchada (3 cikk megjelent)

A Sai Ashish egy Full Stack fejlesztő, aki iparági tapasztalattal rendelkezik webhelyek és webes alkalmazások építésében. Szeret innovatív termékeket építeni, és éleslátó cikkeket írni a programozásról.

Továbbiak Sai Ashish Konchadától

Megjegyzés

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!

Kattintson ide az előfizetéshez

On The Wire

trend most