Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo.

Avtor: Sai Ashish Konchada
DelitiTweetDelitiE-naslov

Strganje HTML-ja je lahko zapleteno, zato se prepričajte, da razumete ta postopek z malo prakse Pythona.

Twitter je ena najvplivnejših platform družbenih medijev, kar jih je kdaj obstajalo. Milijoni ljudi, vključno z vrhunskimi politiki, zvezdniki in izvršnimi direktorji, uporabljajo platformo za izmenjavo svojih misli vsak dan.

Zavihek Priljubljeni je eno najboljših mest za iskanje novic v realnem času in razpoloženja v družabnih medijih. Te podatke lahko analizirate in uporabite za načrtovanje oglaševanja blagovnih znamk, vodenje oglaševalskih akcij in povečanje prodaje z odpadki. Toda kako lahko dobite deset najbolj priljubljenih hashtagov na Twitterju?

Postopek izdelave algoritma

Prvi korak pri izdelavi katerega koli programa je, da si zapomnite in razumete korake, potrebne za izgradnjo Twitter strgala. To so:

instagram viewer
  1. Odprite Google Chrome.
  2. Obiščite Twitterjevo priljubljeno stran.
  3. Zberite hashtage in ustrezne povezave do strani.
  4. Podatke shranite v preglednico.

To služi kot algoritem izjave o problemu.

Razumevanje spletne strani Twitter

Preden jih lahko ekstrahirate, morate vedeti, kako spletna stran označuje svoje podatke. Zelo pomaga, če dobro razumeš osnove HTML in CSS.

Sledite tem korakom, da ugotovite, kako Twitter predstavlja trendovski hashtag in njegov URL:

  1. Obisk Twitterjeva priljubljena stran. Lahko tudi navigirate do Twitter.comRaziščiteV trendu da si ga ogledate.
  2. Preglejte glavni stolpec z orodji Chrome Dev. Pojdi do Meni (3 pike)>Več orodij >Orodja za razvijalce in premaknite orodje za izbirnik elementov nad območje trendov.
  3. Časovnica trendov je a div z an arija-oznaka atribut, katerega vrednost je »Časovnica: Razišči«. Premaknite miškin kazalec nad oznako v Elementi ploščo za boljše razumevanje strukture strani. Še ena div shrani trendovski hashtag/temo. Uporabite ta div kot števec in ponovite vse dive na strani, ki vsebuje priljubljeno temo/hashtag. Vsebina je shranjena v a razpon ali nekaj razponskih elementov. Opazujte odprt zavihek in upoštevajte hierarhijo. To lahko uporabite za sestavo izraza XPath. Izraz XPath za ta specifični element je:
    '//div[@aria-label="Časovnica: Raziščite"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    Ponavljajte in ciljajte div[3], div[4], div[5] itd. Za prvih deset hashtagov števec teče od 3 do 13. Splošni XPath postane:
    //div[@aria-label="Časovnica: Raziščite"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
  4. Kliknite kateri koli hashtag, da razumete URL njegovih strani. Če primerjate URL-je, bi morali opaziti, da se samo poizvedbeni parameter spremeni tako, da se ujema z imenom hashtaga. Ta vpogled lahko uporabite za ustvarjanje URL-jev, ne da bi jih dejansko ekstrahirali.

Ta projekt uporablja naslednje module in orodja Python:

1. Modul Pandas

Ti lahko uporabite razred Pandas DataFrame za shranjevanje hashtagov in njihovih ustreznih povezav v obliki tabele. To bo koristno, ko gre za dodajanje te vsebine v datoteko CSV, ki jo lahko delite zunaj.

2. Časovni modul

Uporabite modul Čas, da dodate zakasnitev v program Python, da omogočite, da se vsebina strani v celoti naloži. Ta primer uporablja zakasnitev 15 sekund, vendar lahko eksperimentirate in izberete ustrezno zakasnitev za vaše okoliščine.

3. Selenski modul

Selenium lahko avtomatizira proces interakcije s spletom. Z njim lahko nadzirate primerek spletnega brskalnika, odprete priljubljeno stran in se pomaknete navzdol po njej. Če želite namestiti Selenium v ​​svoje okolje Python, odprite svoj Terminal in izvršitipip namestite selen.

4. Spletni gonilnik

Uporabite spletni gonilnik v kombinaciji s Seleniumom za interakcijo z brskalnikom. Glede na brskalnik, ki ga želite avtomatizirati, so na voljo različni spletni gonilniki. Za to zgradbo uporabite priljubljen brskalnik Google Chrome. Če želite namestiti spletni gonilnik za Chrome:

  1. Preverite različico brskalnika, ki ga uporabljate, tako da obiščete meni (3 pike) > Pomoč>O brskalniku Google Chrome.
  2. Upoštevajte različico brskalnika; v tem primeru je to 106.0.5249.62.
  3. Pojdi k svojemu Terminal in tip pip namestite chromedriver-binary==številka_različice:
    pip namestite chromedriver-dvojiško==106.0.5249.62
    Če ni ustrezne različice, vam bo pip pokazal seznam razpoložljivih; izberite tisto, ki je najbližje vaši različici Chroma.

Kako sestaviti Twitter Scraper

Sledite tem korakom, da sestavite svoj program in pridobite trendne hashtage v realnem času. Tukaj lahko najdete celotno izvorno kodo Repozitorij GitHub.

  1. Uvozite zahtevane module v okolje Python.
    # uvoz zahtevanih modulov
    od selen uvoz spletni gonilnik
    odselen.webdriver.običajni.byuvozAvtor:
    uvoz chromedriver_binary
    uvoz čas
    uvoz pande kot pd
  2. Ustvarite objekt za inicializacijo gonilnika ChromeDriver in zaženite brskalnik Google Chrome z uporabo spletni gonilnik. Chrome() funkcijo.
    # odprite brskalnik google chrome
    brskalnik = spletni gonilnik. Chrome()
  3. Odprite Twitterjevo priljubljeno stran tako, da posredujete njen URL na dobiti () funkcijo.
    # odprite priljubljeno stran Twitterja
    brskalnik.get('https://twitter.com/explore/tabs/trending')
  4. Uporabite zakasnitev, da se vsebina strani v celoti naloži.
    # zakasnitev za nalaganje vsebine strani
    čas.spati(15)
  5. Ustvarite prazen seznam za shranjevanje hashtagov in deklarirajte zanko, ki teče od 3 do 13, da se ujema s spremenljivko v izrazu XPath od prej.
    # inicializirajte seznam za shranjevanje priljubljenih tem in hashtagov
    trending_topic_content=[]

    # zbirajte teme in hashtagove na priljubljeni Twitterjevi strani
    za i v območju (3,13):

  6. Uporabi najdi_element() funkcijo in posredujte izbirnik XPath, da dobite priljubljene teme in hashtage na Twitterju:
    xpath = f'//div[@aria-label="Časovnica: Raziščite"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    trending_topic = browser.find_element (Avtor. XPATH, xpath)
    trending_topic_content.priložiti(trending_topic.besedilo)
  7. Ustvarite prazen seznam za shranjevanje vseh URL-jev in navedite zanko, ki poteka skozi vse hashtags.
    # ustvarite URL-je z uporabo zbranih hashtagov
    urls=[]
    za jaz v trending_topic_content:
    Uporabite operator rezine, da izpustite hashtag, da ustvarite njegov URL in zamenjate presledke s kodiranjem URL, %20. Dodajte povezave na seznam.
    če i.začne z("#"):
    i = i[1:]
    url='https://twitter.com/search? q=%23' + jaz + '&src=trend_klik'
    drugače:
    url = 'https://twitter.com/search? q=' + jaz + '&src=trend_klik'
    url = url.replace("", "%20")
    urls.priložiti(url)
  8. Ustvarite slovar para ključ-vrednost s ključi kot hashtagi in vrednostmi kot njihovimi URL-ji.
    # ustvarite slovar, ki vsebuje hashtag in URL-je
    dic={'Lojtra':trending_topic_content,'URL':urls}
  9. Pretvorite nestrukturiran slovar v tabelarni DataFrame.
    # pretvorite slovar v podatkovni okvir v pandah
    df=pd. DataFrame (dic)
    tiskanje(df)
  10. DataFrame shranite v datoteko CSV, ki si jo lahko ogledate v Microsoft Excelu ali jo obdelate naprej.
    # pretvorite podatkovni okvir v obliko vrednosti, ločene z vejico, brez serijskih številk
    df.to_csv("Twitter_HashTags.csv",index=False)

Pridobite dragocene vpoglede z uporabo spletnega strganja

Spletno strganje je zmogljiva metoda za pridobivanje želenih podatkov in njihovo analizo za sprejemanje odločitev. Beautiful Soup je impresivna knjižnica, ki jo lahko namestite in uporabite za strganje podatkov iz katere koli datoteke HTML ali XML s pomočjo Pythona.

S tem lahko brskate po internetu in pridobite naslove novic v realnem času, cene izdelkov, športne rezultate, vrednost delnic in drugo.

Strgajte spletno stran s to čudovito vadnico za Soup Python

Preberi Naprej

DelitiTweetDelitiE-naslov

Sorodne teme

  • Programiranje
  • Programiranje
  • Python
  • Spletni razvoj
  • Spletno strganje
  • Twitter

O avtorju

Sai Ashish Konchada (Objavljeni 3 članki)

Sai Ashish je Full Stack razvijalec z izkušnjami v industriji pri izdelavi spletnih mest in spletnih aplikacij. Rad ustvarja inovativne izdelke in piše pronicljive članke o programiranju.

Več od Sai Ashish Konchada

Komentiraj

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!

Za naročanje kliknite tukaj

Na žici

trenutno v trendu