HTML’yi kazımak zor olabilir, bu yüzden bu süreci biraz Python alıştırmasıyla anladığınızdan emin olun.

Python Kullanarak Trend Hashtag'leri Almak için Kendi Twitter Kazıyıcınızı Oluşturun

Twitter, gelmiş geçmiş en etkili sosyal medya platformlarından biridir. En iyi politikacılar, ünlüler ve CEO’lar dahil olmak üzere milyonlarca insan, her gün düşüncelerini paylaşmak için platformu kullanıyor.

Trend sekmesi, gerçek zamanlı haberleri ve sosyal medya duyarlılığını öğrenmek için en iyi yerlerden biridir. Bu verileri marka reklamlarını planlamak, kampanyalar yürütmek ve satışları kat kat artırmak için analiz edebilir ve kullanabilirsiniz. Peki Twitter’da trend olan ilk on hashtag’i nasıl elde edebilirsiniz?

Algoritma Oluşturma Süreci

Herhangi bir program oluşturmanın ilk adımı, bir Twitter kazıyıcı oluşturmak için gereken adımları not etmek ve anlamaktır. Bunlar:

  • Google Chrome’u açın.
  • Twitter’ın trend sayfasını ziyaret edin.
  • Hashtag’leri ve ilgili sayfa bağlantısını toplayın.
  • Verileri bir elektronik tabloya kaydedin.
  • Bu, problem ifadesinin algoritması olarak hizmet eder.

Twitter Web Sayfasını Anlamak

Çıkarmadan önce bir web sayfasının verilerini nasıl işaretlediğini bilmeniz gerekir. HTML ve CSS’nin temellerini iyi anlıyorsanız çok yardımcı olur .

Twitter’ın trend olan bir hashtag’i ve URL’sini nasıl temsil ettiğini öğrenmek için şu adımları izleyin:

  • Twitter’ın trendler sayfasını ziyaret edin . Ayrıca Twitter’a da gidebilirsiniz . com → Keşfet → Görüntülemek için Trendler’e gidin .
  • Chrome Geliştirme Araçları’nı kullanarak ana sütunu inceleyin . Menü (3 nokta) > Diğer Araçlar > Geliştirici Araçları’na gidin ve öğe seçme aracını trend alanının üzerine getirin.
  • Trend Zaman Çizelgesi, değeri “Zaman Çizelgesi: Keşfet” olan bir aria-label özniteliğine sahip bir div’dir .
  • Kodun İncelenmesinde görüldüğü gibi Trend Zaman Çizelgesi Sayfası
  • Sayfa yapısını daha iyi anlamak için Öğeler panelindeki işaretlemenin üzerine gelin . Başka bir div , trend olan hashtag’i/konuyu saklar. Bu div’i bir sayaç olarak kullanın ve trend olan konuyu/hashtag’i içeren sayfadaki tüm div’leri yineleyin.
  • Kodun İncelenmesinde görüldüğü gibi Trend Zaman Çizelgesi Sayfası Div
  • İçerik, bir yayılma alanı veya birkaç yayılma öğesi içinde depolanır .
  • yayılma öğesinde içerik bulmak için Google Chrome’u inceleyin
  • Açık sekmeyi gözlemleyin ve hiyerarşiyi not edin. Bunu bir XPath ifadesi oluşturmak için kullanabilirsiniz.
  • aria etiketi zaman çizelgesi keşfi ile div bulmak için Google Chrome’u inceleyin
  • Bu özel öğe için XPath ifadesi:
  • ‘//div[@aria-label=”Timeline: Explore”]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]’
  • div[3], div[4], div[5] vb. yineleyin ve hedefleyin. İlk on hashtag için sayaç 3’ten 13’e kadar çalışır. Genelleştirilmiş XPath şöyle olur:
  • //div[@aria-label=”Timeline: Explore”]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]’
  • Sayfalarının URL’sini anlamak için herhangi bir hashtag’e tıklayın. URL’leri karşılaştırırsanız, yalnızca sorgu parametresinin hashtag adıyla eşleşecek şekilde değiştiğini fark etmelisiniz. Bu bilgiyi, URL’leri gerçekten çıkarmadan oluşturmak için kullanabilirsiniz.

Gerekli Modülleri ve Araçları Anlama ve Yükleme

Bu proje aşağıdaki Python modüllerini ve araçlarını kullanır:

1. Pandalar Modülü

Pandas DataFrame sınıfını, hashtag’leri ve ilgili bağlantılarını tablo biçiminde depolamak için kullanabilirsiniz. Bu, harici olarak paylaşabileceğiniz bir CSV dosyasına bu içerikleri eklemek söz konusu olduğunda yardımcı olacaktır.

2. Zaman Modülü

Sayfa içeriğinin tam olarak yüklenmesine izin vermek için Python programına bir gecikme eklemek için Zaman modülünü kullanın. Bu örnekte 15 saniyelik bir gecikme kullanılmaktadır, ancak deneyebilir ve koşullarınız için uygun bir gecikme seçebilirsiniz.

3. Selenyum Modülü

Python Kullanarak Trend Hashtag'leri Almak için Kendi Twitter Kazıyıcınızı Oluşturun

Selenium, web ile etkileşim sürecini otomatikleştirebilir. Bir web tarayıcısının bir örneğini kontrol etmek, trend sayfasını açmak ve aşağı kaydırmak için kullanabilirsiniz. Selenium’u Python ortamınıza kurmak için Terminalinizi açın ve pip install Selenium’u çalıştırın .

4. Web Sürücüsü

Tarayıcıyla etkileşim kurmak için Selenium ile birlikte bir web sürücüsü kullanın. Otomatikleştirmek istediğiniz tarayıcıya göre farklı web sürücüleri mevcuttur. Bu yapı için popüler Google Chrome tarayıcısını kullanın. Chrome için web sürücüsünü yüklemek için:

  • Menü (3 nokta) > Yardım > Google Chrome Hakkında sayfasını ziyaret ederek kullandığınız tarayıcının sürümünü kontrol edin .
  • Google Chrome tarayıcısını incelemek için geçiş menüsünü kullanma
  • Tarayıcının sürümünü not edin; bu durumda, 106.0.5249.62’dir.
  • Google Chrome Sürümü
  • Terminalinize gidin ve pip install chromedriver-binary==version_number yazın :
  • pip install chromedriver-binary==106.0.5249.62
  • Eşleşen bir sürüm yoksa, pip size mevcut olanların bir listesini gösterir; krom sürümünüze en yakın olanı seçin.

Twitter Kazıyıcı Nasıl Yapılır

Programınızı oluşturmak ve gerçek zamanlı trend hashtag’leri almak için bu adımları izleyin. Kaynak kodunun tamamını bu GitHub Deposunda bulabilirsiniz .

Gerekli modülleri Python ortamına aktarın.

# importing the required modules

from selenium import webdriver

from selenium.webdriver.common.by import By

import chromedriver_binary

import time

import pandas as pd

ChromeDriver’ı başlatmak için bir nesne oluşturun ve webdriver.Chrome() işlevini kullanarak Google Chrome tarayıcısını başlatın.

# open google chrome browser

browser = webdriver.Chrome()

URL’sini get() işlevine ileterek Twitter’ın trend sayfasını açın .

# open the trending page of Twitter

browser.get(‘https://twitter.com/explore/tabs/trending’)

Sayfa içeriğinin tam olarak yüklenmesi için bir gecikme uygulayın.

# delay for page content loading

time.sleep(15)

Hashtag’leri depolamak için boş bir liste oluşturun ve daha önce XPath ifadesindeki değişkenle eşleşmesi için 3’ten 13’e kadar çalışan bir döngü bildirin.

Python Kullanarak Trend Hashtag'leri Almak için Kendi Twitter Kazıyıcınızı Oluşturun

# initialize list to store trending topics and hashtags

trending_topic_content=[]

# collect topics and hashtags on Twitter’s trending page

for i in range(3,13):

Twitter’da trend olan konuları ve hashtag’leri almak için find_element() işlevini kullanın ve XPath seçiciyi geçin:

xpath = f’//div[@aria-label=”Timeline: Explore”]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]’

trending_topic = browser.find_element(By.XPATH, xpath)

trending_topic_content.append(trending_topic.text)

Tüm URL’leri depolamak için boş bir liste oluşturun ve tüm hashtag’lerden geçen bir döngü bildirin.

# create URLs using the hashtags collected

urls=[]

for i in trending_topic_content:

URL’sini oluşturmak için hashtag’i çıkarmak ve boşlukları %20 URL kodlamasıyla değiştirmek için dilim operatörünü kullanın. Linkleri listeye ekleyin.

if i.startswith(“#”):

   i = i[1:]

   url=’https://twitter.com/search?q=%23′ + i + ‘&src=trend_click’

else:

   url = ‘https://twitter.com/search?q=’ + i + ‘&src=trend_click’

url = url.replace(” “, “%20”)

urls.append(url)

Anahtarların hashtag’leri ve değerlerin URL’leri olduğu bir anahtar/değer çifti Sözlüğü oluşturun.

# create a dictionary that has both the hashtag and the URLs

dic={‘HashTag’:trending_topic_content,’URL’:urls}

Yapılandırılmamış sözlüğü tablo şeklinde bir DataFrame’e dönüştürün.

# convert the dictionary to a dataframe in pandas

df=pd.DataFrame(dic)

print(df)

DataFrame’i Microsoft Excel’de görüntüleyebileceğiniz veya daha fazla işleyebileceğiniz bir CSV dosyasına kaydedin.

# convert the dataframe into Comma Separated Value format with no serial numbers

df.to_csv(“Twitter_HashTags.csv”,index=False)

Web Scraping Kullanarak Değerli İçgörüler Elde Edin

Web kazıma, istenen verileri elde etmek ve kararlar almak için analiz etmek için güçlü bir yöntemdir. Beautiful Soup, Python kullanarak herhangi bir HTML veya XML dosyasından veri sıyırmak için kurabileceğiniz ve kullanabileceğiniz etkileyici bir kitaplıktır.

Bununla, gerçek zamanlı haber başlıkları, ürün fiyatları, spor skorları, hisse senedi değeri ve daha fazlasını elde etmek için interneti kazıyabilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir