Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju.

Po Sai Ashish Konchada
UdioCvrkutUdioE-mail

Struganje HTML-a može biti nezgodno, pa se pobrinite da razumijete ovaj proces uz malo prakse Pythona.

Twitter je jedna od najutjecajnijih platformi društvenih medija koja je ikada postojala. Milijuni ljudi, uključujući vrhunske političare, slavne osobe i izvršne direktore, svakodnevno koriste platformu za dijeljenje svojih misli.

Kartica s trendovima jedno je od najboljih mjesta za saznavanje vijesti u stvarnom vremenu i raspoloženja na društvenim mrežama. Možete analizirati i koristiti te podatke za planiranje reklama robnih marki, pokretanje kampanja i povećanje prodaje. Ali kako možete doći do deset najpopularnijih hashtagova na Twitteru?

Proces izgradnje algoritma

Prvi korak u izradi bilo kojeg programa je zabilježiti i razumjeti korake potrebne za izgradnju Twitter strugača. Oni su:

instagram viewer
  1. Otvorite Google Chrome.
  2. Posjetite Twitterovu stranicu u trendu.
  3. Prikupite oznake s oznakom # i njihovu vezu na stranicu.
  4. Spremite podatke u proračunsku tablicu.

Ovo služi kao algoritam izjave problema.

Razumijevanje web stranice Twittera

Morate znati kako web stranica označava svoje podatke prije nego što ih možete izdvojiti. Puno pomaže ako dobro razumijete osnove HTML-a i CSS.

Slijedite ove korake da biste saznali kako Twitter predstavlja trendovski hashtag i njegov URL:

  1. Posjetiti Twitterova stranica u trendu. Također možete navigirati do Twitter.comIstražitiU trendu da ga pogledate.
  2. Pregledajte glavni stupac pomoću alata Chrome Dev. Ići Izbornik (3 točke)>Više alata >Razvojni alati i zadržite pokazivač alata za odabir elementa iznad trendovskog područja.
  3. Vremenska traka u trendu je a div s an arija-oznaka atribut čija je vrijednost "Vremenska traka: Istražite". Zadržite pokazivač iznad oznake u Elementi panel za bolje razumijevanje strukture stranice. Još div pohranjuje trendovski hashtag/temu. Upotrijebite ovaj div kao brojač i ponovite sve divove na stranici koja sadrži temu/hashtag u trendu. Sadržaj je pohranjen unutar a raspon ili par elemenata raspona. Promatrajte otvorenu karticu i zabilježite hijerarhiju. Ovo možete koristiti za konstruiranje XPath izraza. XPath izraz za ovaj specifični element je:
    '//div[@aria-label="Vremenska traka: Istražite"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    Iterirajte i ciljajte div[3], div[4], div[5] itd. Za prvih deset hashtagova, brojač se kreće od 3 do 13. Generalizirani XPath postaje:
    //div[@aria-label="Vremenska traka: Istražite"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
  4. Kliknite bilo koji hashtag da biste razumjeli URL njegovih stranica. Ako usporedite URL-ove, primijetit ćete da se samo parametar upita mijenja kako bi odgovarao nazivu hashtaga. Možete koristiti ovaj uvid za izradu URL-ova bez njihovog stvarnog izdvajanja.

Ovaj projekt koristi sljedeće Python module i alate:

1. Pandas modul

Možeš koristite klasu Pandas DataFrame za pohranu hashtagova i njihovih poveznica u tabličnom formatu. To će biti od pomoći kada se radi o dodavanju ovih sadržaja u CSV datoteku koju možete dijeliti izvana.

2. Vremenski modul

Upotrijebite modul Time za dodavanje odgode programu Python kako bi se omogućilo potpuno učitavanje sadržaja stranice. Ovaj primjer koristi odgodu od 15 sekundi, ali možete eksperimentirati i odabrati odgovarajuću odgodu za svoje okolnosti.

3. Selenski modul

Selenium može automatizirati proces interakcije s webom. Možete ga koristiti za upravljanje instancom web preglednika, otvaranje stranice u trendu i pomicanje prema dolje. Da biste instalirali Selenium u svoje Python okruženje, otvorite svoj Terminal i izvršitipip instalirati selenium.

4. Web upravljački program

Koristite upravljački program za web u kombinaciji sa Seleniumom za interakciju s preglednikom. Dostupni su različiti upravljački programi za web ovisno o pregledniku koji želite automatizirati. Za ovu verziju upotrijebite popularni preglednik Google Chrome. Da biste instalirali web upravljački program za Chrome:

  1. Provjerite verziju preglednika koji koristite tako da posjetite Jelovnik (3 točke) > Pomoć>O pregledniku Google Chrome.
  2. Zabilježite verziju preglednika; u ovom slučaju, to je 106.0.5249.62.
  3. Idi na svoju Terminal i tip pip instaliraj chromedriver-binary==version_number:
    pip instalirati chromedriver-binarni==106.0.5249.62
    Ako ne postoji odgovarajuća verzija, pip će vam pokazati popis dostupnih; odaberite onu koja je najbliža vašoj verziji Chromea.

Kako izgraditi Twitter Scraper

Slijedite ove korake kako biste izgradili svoj program i dobili hashtagove u stvarnom vremenu. Cijeli izvorni kod možete pronaći ovdje GitHub spremište.

  1. Uvezite potrebne module u Python okruženje.
    # uvoz potrebnih modula
    iz selen uvoz webdriver
    izselen.webdriver.uobičajen.pouvozPo
    uvoz chromedriver_binary
    uvoz vrijeme
    uvoz pande kao pd
  2. Stvorite objekt za inicijalizaciju ChromeDrivera i pokretanje preglednika Google Chrome pomoću webdriver. Krom() funkcija.
    # otvorite preglednik google chrome
    preglednik = webdriver. Krom()
  3. Otvorite Twitterovu stranicu u trendu prosljeđivanjem URL-a na dobiti() funkcija.
    # otvorite popularnu stranicu Twittera
    preglednik.get('https://twitter.com/explore/tabs/trending')
  4. Primijenite odgodu tako da se sadržaj stranice u potpunosti učita.
    # odgoda za učitavanje sadržaja stranice
    vrijeme.spavati(15)
  5. Napravite prazan popis za pohranjivanje hashtagova i deklarirajte petlju koja se pokreće od 3 do 13 kako bi odgovarala varijabli u XPath izrazu od prije.
    # inicijalizirajte popis za pohranu trendovskih tema i hashtagova
    trending_topic_content=[]

    # prikupljajte teme i hashtagove na popularnoj Twitter stranici
    za i u rasponu (3,13):

  6. Koristiti nađi_element() funkciju i proslijedite selektor XPath da biste dobili trendovske teme i hashtagove na Twitteru:
    xput = f'//div[@aria-label="Vremenska traka: Istražite"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    trending_topic = browser.find_element (Autor. XPATH, xpath)
    trending_topic_content.dodati(popularna tema.tekst)
  7. Napravite prazan popis za pohranu svih URL-ova i deklarirajte petlju koja prolazi kroz sve hashtagove.
    # izradite URL-ove pomoću prikupljenih hashtagova
    urls=[]
    za mene u trending_topic_content:
    Upotrijebite operator odsječka da biste izostavili hashtag da biste stvorili njegov URL i zamijenili razmake kodiranjem URL-a, %20. Dodajte poveznice na popis.
    if i.starts with("#"):
    i = i[1:]
    url='https://twitter.com/search? q=%23' + ja + '&src=trend_klik'
    drugo:
    url = 'https://twitter.com/search? q=' + ja + '&src=trend_klik'
    url = url.replace("", "%20")
    URL-ovi.dodati(url)
  8. Stvorite rječnik para ključ-vrijednost s ključevima kao hashtagovima i vrijednostima kao njihovim URL-ovima.
    # izradite rječnik koji ima i hashtag i URL-ove
    dic={'HashTag':trending_topic_content,'URL':urls}
  9. Pretvorite nestrukturirani rječnik u tablični DataFrame.
    # pretvorite rječnik u podatkovni okvir u pandama
    df=pd. DataFrame (dic)
    ispisati(df)
  10. Spremite DataFrame u CSV datoteku koju možete pregledati u Microsoft Excelu ili dalje obraditi.
    # pretvorite podatkovni okvir u format vrijednosti odvojenih zarezima bez serijskih brojeva
    df.to_csv("Twitter_HashTags.csv",index=False)

Steknite vrijedne uvide pomoću Web Scrapinga

Web scraping moćna je metoda za dobivanje željenih podataka i njihovu analizu za donošenje odluka. Beautiful Soup je impresivna biblioteka koju možete instalirati i koristiti za struganje podataka iz bilo koje HTML ili XML datoteke pomoću Pythona.

S ovime možete pretražiti internet kako biste dobili naslove vijesti u stvarnom vremenu, cijene proizvoda, sportske rezultate, vrijednost dionica i još mnogo toga.

Izradite web stranicu s ovim prekrasnim vodičem za Soup Python

Pročitajte dalje

UdioCvrkutUdioE-mail

Povezane teme

  • Programiranje
  • Programiranje
  • Piton
  • Web razvoj
  • Web Scraping
  • Cvrkut

O autoru

Sai Ashish Konchada (Objavljena 3 članka)

Sai Ashish je Full Stack programer s industrijskim iskustvom u izradi web stranica i web aplikacija. Voli stvarati inovativne proizvode i pisati pronicljive članke o programiranju.

Više od Sai Ashish Konchada

Komentar

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje da se pretplatite

Na žici

sada u trendu