Поиск по сайту:

Создайте свой собственный парсер Twitter, чтобы получать популярные хэштеги с помощью Python


Парсинг HTML может быть затруднительным, поэтому убедитесь, что вы понимаете этот процесс, немного попрактиковавшись в Python.

Twitter — одна из самых влиятельных социальных сетей, когда-либо существовавших. Миллионы людей, включая ведущих политиков, знаменитостей и руководителей, используют платформу, чтобы каждый день делиться своими мыслями.

Вкладка «Тенденции» — одно из лучших мест, где можно узнать новости в реальном времени и настроения в социальных сетях. Вы можете анализировать и использовать эти данные для планирования рекламы бренда, проведения кампаний и многократного увеличения продаж. Но как получить десятку самых популярных хэштегов в Твиттере?

Процесс построения алгоритма

Первый шаг к созданию любой программы — это записать и понять шаги, необходимые для создания парсера Twitter. Они есть:

  1. Откройте Гугл Хром.
  2. Посетите страницу трендов Twitter.
  3. Соберите хэштеги и ссылки на соответствующие страницы.
  4. Сохраните данные в электронной таблице.

Это служит алгоритмом постановки задачи.

Понимание веб-страницы Twitter

Вам необходимо знать, как веб-страница размечает свои данные, прежде чем вы сможете их извлечь. Очень помогает, если вы хорошо разбираетесь в основах HTML и CSS.

Выполните следующие действия, чтобы выяснить, как Twitter представляет популярный хэштег и его URL-адрес:

  1. Посетите страницу трендов Twitter. Вы также можете перейти на страницу Twitter.comОбзорТенденции, чтобы просмотреть его.
  2. Проверьте основной столбец с помощью Chrome Dev Tools. Перейдите в Меню (3 точки) > Дополнительные инструменты > Инструменты разработчика и наведите указатель мыши на инструмент выбора элементов над трендом. область.
  3. Временная шкала тенденций – это div с атрибутом aria-label, значение которого равно "Временная шкала: Исследовать".

    '//div[@aria-label="Timeline: Explore"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    //div[@aria-label="Timeline: Explore"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
  4. Нажмите на любой хэштег, чтобы понять URL-адрес его страниц. Если вы сравните URL-адреса, вы заметите, что изменяется только параметр запроса, чтобы соответствовать имени хэштега. Вы можете использовать эту информацию для создания URL-адресов без их фактического извлечения.

Понимание и установка необходимых модулей и инструментов

В этом проекте используются следующие модули и инструменты Python:

1. Модуль Панды

Вы можете использовать класс Pandas DataFrame для хранения хэштегов и соответствующих им ссылок в табличном формате. Это будет полезно, когда дело доходит до добавления этого содержимого в файл CSV, которым вы можете поделиться с внешними пользователями.

2. Модуль времени

Используйте модуль Time, чтобы добавить задержку в программу Python, чтобы обеспечить полную загрузку содержимого страницы. В этом примере используется задержка в 15 секунд, но вы можете поэкспериментировать и выбрать задержку, подходящую для ваших обстоятельств.

3. Селеновый модуль

Selenium может автоматизировать процесс взаимодействия с сетью. Вы можете использовать его для управления экземпляром веб-браузера, открытия страницы трендов и прокрутки ее вниз. Чтобы установить Selenium в среду Python, откройте Терминал и выполните pip install selenium.

4. Веб-драйвер

Используйте веб-драйвер в сочетании с Selenium для взаимодействия с браузером. В зависимости от браузера, который вы хотите автоматизировать, доступны разные веб-драйверы. Для этой сборки используйте популярный браузер Google Chrome. Чтобы установить веб-драйвер для Chrome:

  1. Проверьте версию используемого вами браузера, посетив Меню (3 точки) > Справка > О Google Chrome . .

  2. Обратите внимание на версию браузера; в данном случае это 106.0.5249.62.

  3. Перейдите в свой Терминал и введите pip install chromedriver-binary==version_number:

    pip install chromedriver-binary==106.0.5249.62

Как создать парсер Twitter

Выполните следующие шаги, чтобы создать свою программу и получать актуальные хэштеги в режиме реального времени. Полный исходный код вы можете найти в этом репозитории GitHub.

  1. Импортируйте необходимые модули в среду Python.

    # importing the required modules
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    import chromedriver_binary
    import time
    import pandas as pd
  2. Создайте объект для инициализации ChromeDriver и запустите браузер Google Chrome с помощью функции webdriver.Chrome().

    # open google chrome browser
    browser = webdriver.Chrome()
  3. Откройте страницу трендов Твиттера, передав ее URL-адрес функции get() .

    # open the trending page of Twitter
    browser.get('https://twitter.com/explore/tabs/trending')
  4. Примените задержку, чтобы содержимое страницы загружалось полностью.

    # delay for page content loading
    time.sleep(15)
  5. Создайте пустой список для хранения хэштегов и объявите цикл, который выполняется от 3 до 13, чтобы соответствовать переменной в выражении XPath, полученном ранее.

    # 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):
    
  6. Используйте функцию find_element() и передайте селектор XPath, чтобы получить актуальные темы и хэштеги в Твиттере:

    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)
  7. Создайте пустой список для хранения всех URL-адресов и объявите цикл, который проходит через все хэштеги.

    # create URLs using the hashtags collected
    urls=[]
    for i in trending_topic_content:
    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)
    
  8. Создайте словарь пары «ключ-значение» с ключами в качестве хэштегов и значениями в качестве их URL-адресов.

    # create a dictionary that has both the hashtag and the URLs
    dic={'HashTag':trending_topic_content,'URL':urls}
  9. Преобразуйте неструктурированный словарь в табличный DataFrame.

    # convert the dictionary to a dataframe in pandas
    df=pd.DataFrame(dic)
    print(df)
  10. Сохраните DataFrame в файл CSV, который можно просмотреть в Microsoft Excel или обработать дальше.

    # convert the dataframe into Comma Separated Value format with no serial numbers
    df.to_csv("Twitter_HashTags.csv",index=False)
    

Получите ценную информацию с помощью парсинга веб-страниц

Парсинг веб-страниц — мощный метод получения нужных данных и их анализа для принятия решений. Beautiful Soup — впечатляющая библиотека, которую вы можете установить и использовать для извлечения данных из любого файла HTML или XML с помощью Python.

Благодаря этому вы можете просматривать Интернет, чтобы получать в режиме реального времени заголовки новостей, цены на продукты, спортивные результаты, стоимость акций и многое другое.

Статьи по данной тематике: