Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию.
Очистка HTML может быть сложной задачей, поэтому убедитесь, что вы понимаете этот процесс, немного попрактиковавшись в Python.
Twitter — одна из самых влиятельных социальных сетей, когда-либо существовавших. Миллионы людей, включая ведущих политиков, знаменитостей и генеральных директоров, используют платформу, чтобы каждый день делиться своими мыслями.
Вкладка «Тренды» — одно из лучших мест, где можно узнать новости в реальном времени и настроения в социальных сетях. Вы можете анализировать и использовать эти данные для планирования рекламы брендов, проведения кампаний и многократного увеличения продаж. Но как вы можете получить десятку самых популярных хэштегов в Твиттере?
Процесс построения алгоритма
Первый шаг к созданию любой программы — это отметить и понять шаги, необходимые для создания парсера Twitter. Они есть:
- Откройте Google Chrome.
- Посетите страницу трендов в Твиттере.
- Соберите хэштеги и соответствующие им ссылки на страницы.
- Сохраните данные в электронной таблице.
Это служит алгоритмом постановки задачи.
Понимание веб-страницы Twitter
Вам нужно знать, как веб-страница размечает свои данные, прежде чем вы сможете их извлечь. Это очень помогает, если вы хорошо понимаете основы HTML и CSS.
Выполните следующие действия, чтобы понять, как Твиттер представляет популярный хэштег и его URL-адрес:
- Посещать Популярная страница Twitter. Вы также можете перейти к Twitter.com → Исследовать → В тренде чтобы просмотреть его.
- Осмотрите основной столбец с помощью инструментов разработчика Chrome. Идти к Меню (3 точки)>Дополнительные инструменты >Инструменты разработчика и наведите инструмент выбора элементов на область тренда.
- Хронология трендов — это див с ария-лейбл атрибут, значение которого «Хронология: исследовать». Наведите курсор на разметку в Элементы панель, чтобы лучше понять структуру страницы. Другой див хранит трендовый хэштег/тему. Используйте этот div в качестве счетчика и перебирайте все div на странице, содержащей популярную тему/хэштег. Содержимое хранится в охватывать или пару элементов span. Обратите внимание на открытую вкладку и обратите внимание на иерархию. Вы можете использовать это для построения выражения XPath. Выражение XPath для этого конкретного элемента:
Итерируйте и нацеливайте div[3], div[4], div[5] и так далее. Для первых десяти хэштегов счетчик работает от 3 до 13. Обобщенный XPath становится:'//div[@aria-label="Хронология: исследовать"]/дел[1]/дел[3]/дел[1]/дел[1]/дел[1]/дел[1]/дел[2]/диапазон[1]'
//div[@aria-label="Хронология: исследовать"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
- Нажмите на любой хэштег, чтобы понять URL его страниц. Если вы сравните URL-адреса, вы должны заметить, что меняется только параметр запроса, чтобы он соответствовал имени хэштега. Вы можете использовать это понимание для создания URL-адресов, фактически не извлекая их.
В этом проекте используются следующие модули и инструменты Python:
1. Модуль панд
Ты можешь используйте класс Pandas DataFrame для хранения хэштегов и соответствующих им ссылок в табличном формате. Это будет полезно, когда дело доходит до добавления этого содержимого в файл CSV, которым вы можете поделиться извне.
2. Модуль времени
Используйте модуль Time, чтобы добавить в программу Python задержку, позволяющую полностью загрузить содержимое страницы. В этом примере используется задержка в 15 секунд, но вы можете поэкспериментировать и выбрать подходящую задержку для ваших обстоятельств.
3. Селеновый модуль
Selenium может автоматизировать процесс взаимодействия с сетью. Вы можете использовать его для управления экземпляром веб-браузера, открытия страницы трендов и прокрутки вниз. Чтобы установить Selenium в вашей среде Python, откройте Терминал и выполнитьpip установить селен.
4. Веб-драйвер
Используйте веб-драйвер в сочетании с Selenium для взаимодействия с браузером. В зависимости от браузера, который вы хотите автоматизировать, доступны различные веб-драйверы. Для этой сборки используйте популярный браузер Google Chrome. Чтобы установить веб-драйвер для Chrome:
- Проверьте версию используемого браузера, посетив Меню (3 точки) > Помощь>О Google Chrome.
- Обратите внимание на версию браузера; в данном случае это 106.0.5249.62.
- Перейти к вашей Терминал и введите pip install chromedriver-binary==номер_версии:
Если подходящей версии нет, pip покажет вам список доступных; выберите тот, который ближе всего к вашей версии Chrome.точка установить хромдрайвер-бинарный==106.0.5249.62
Как создать парсер Twitter
Выполните следующие шаги, чтобы создать свою программу и получать популярные хэштеги в режиме реального времени. Вы можете найти полный исходный код в этом Репозиторий GitHub.
- Импортируйте необходимые модули в среду Python.
# импорт необходимых модулей
от селен Импортировать вебдрайвер
отселен.вебдрайвер.общий.кИмпортироватьК
Импортировать chromedriver_binary
Импортировать время
Импортировать панды как пд - Создайте объект для инициализации ChromeDriver и запустите браузер Google Chrome с помощью вебдрайвер. Хром() функция.
# открываем браузер гугл хром
браузер = веб-драйвер. Хром() - Откройте страницу трендов Twitter, передав ее URL в получать() функция.
# открыть страницу трендов в Твиттере
браузер.получить('https://twitter.com/explore/tabs/trending') - Примените задержку, чтобы содержимое страницы загружалось полностью.
# задержка загрузки содержимого страницы
время.спать(15) - Создайте пустой список для хранения хэштегов и объявите цикл, который выполняется от 3 до 13, чтобы соответствовать переменной в выражении XPath ранее.
# инициализируем список для хранения популярных тем и хэштегов
trending_topic_content=[]# собирать темы и хэштеги на популярной странице Twitter
для я в диапазоне (3,13): - Использовать найти_элемент() и передайте селектор XPath, чтобы получить популярные темы и хэштеги в Твиттере:
хпуть = f'//div[@aria-label="Хронология: исследовать"]/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.добавлять(Актуальная тема.текст) - Создайте пустой список для хранения всех URL-адресов и объявите цикл, который проходит через все хэштеги.
Используйте оператор среза, чтобы опустить хэштег, чтобы создать его URL-адрес и заменить пробелы кодировкой URL-адреса, %20. Добавьте ссылки в список.# создайте URL-адреса, используя собранные хэштеги
URL=[]
для меня в trending_topic_content:если я.начинается с("#"):
я = я [1:]
URL='https://twitter.com/search? д=%23' + я + '&источник=trend_click'
еще:
URL = 'https://twitter.com/search? д =' + я + '&источник=trend_click'
URL-адрес = URL-адрес.заменить ("", "%20")
URL-адреса.добавлять(URL) - Создайте словарь пары ключ-значение с ключами в виде хэштегов и значениями в качестве их URL-адресов.
# создайте словарь с хэштегом и URL-адресами
Дик = {'Хэштег':trending_topic_content,'URL-адрес': URL} - Преобразуйте неструктурированный словарь в табличный DataFrame.
# преобразовать словарь в фрейм данных в pandas
дф=пд. DataFrame (цифровой)
Распечатать(дф) - Сохраните DataFrame в файл CSV, который вы сможете просмотреть в Microsoft Excel или обработать дальше.
# преобразовать фрейм данных в формат значений, разделенных запятыми, без серийных номеров
df.to_csv("Twitter_HashTags.csv", индекс = ложь)
Получите ценную информацию с помощью парсинга веб-страниц
Веб-скрапинг — это мощный метод получения нужных данных и их анализа для принятия решений. Beautiful Soup — это впечатляющая библиотека, которую вы можете установить и использовать для извлечения данных из любого файла HTML или XML с помощью Python.
С его помощью вы можете очищать Интернет, чтобы в режиме реального времени получать заголовки новостей, цены на продукты, спортивные результаты, стоимость акций и многое другое.