Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор.

от Сай Ашиш Кончада
ДялTweetДялелектронна поща

Изтриването на HTML може да бъде трудно, така че се уверете, че разбирате този процес с малко практика на Python.

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

Разделът с тенденции е едно от най-добрите места за намиране на новини в реално време и настроения в социалните медии. Можете да анализирате и използвате тези данни, за да планирате реклами на марката, да провеждате кампании и да увеличавате продажбите на пъти. Но как можете да получите десетте най-популярни хаштага в Twitter?

Процесът на изграждане на алгоритъм

Първата стъпка към изграждането на която и да е програма е да се отбележат и разберат стъпките, необходими за изграждането на Twitter scraper. Те са:

instagram viewer
  1. Отворете Google Chrome.
  2. Посетете актуалната страница на Twitter.
  3. Съберете хаштаговете и съответната им връзка към страницата.
  4. Запазете данните в електронна таблица.

Това служи като алгоритъм на постановката на проблема.

Разбиране на уеб страницата на Twitter

Трябва да знаете как една уеб страница маркира своите данни, преди да можете да ги извлечете. Помага много, ако разбирате добре основите на HTML и CSS.

Следвайте тези стъпки, за да разберете как Twitter представлява актуален хаштаг и неговия URL адрес:

  1. Посетете Популярната страница на Twitter. Можете също да навигирате до Twitter.comРазгледайтеТенденция за да го видите.
  2. Проверете основната колона с помощта на Chrome Dev Tools. Отидете на Меню (3 точки)>Още инструменти >Инструменти за разработчици и задръжте инструмента за избор на елемент върху тенденцията.
  3. Хронологията на тенденциите е a див с ан ария-етикет атрибут, чиято стойност е „Хронология: Разгледайте“. Задръжте курсора на мишката над маркировката в Елементи панел, за да разберете по-добре структурата на страницата. Друг див съхранява актуалния хаштаг/тема. Използвайте този div като брояч и повторете всички div в страницата, съдържаща актуалната тема/хаштаг. Съдържанието се съхранява в a педя или няколко span елемента. Наблюдавайте отворения раздел и отбележете йерархията. Можете да използвате това, за да конструирате XPath израз. Изразът XPath за този конкретен елемент е:
    '//div[@aria-label="Хронология: Разгледайте"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    Итерация и насочване към div[3], div[4], div[5] и т.н. За първите десет хаштага броячът варира от 3 до 13. Обобщеният XPath става:
    //div[@aria-label="Хронология: Разгледайте"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
  4. Кликнете върху който и да е хаштаг, за да разберете URL адреса на страниците му. Ако сравните URL адресите, трябва да забележите, че само параметърът на заявката се променя, за да съответства на името на хаштага. Можете да използвате тази информация, за да създавате URL адреси, без всъщност да ги извличате.

Този проект използва следните модули и инструменти на Python:

1. Модул Pandas

Можеш използвайте класа Pandas DataFrame за съхраняване на хаштаговете и съответните им връзки в табличен формат. Това ще бъде полезно, когато става въпрос за добавяне на това съдържание към CSV файл, който можете да споделяте външно.

2. Времеви модул

Използвайте модула Time, за да добавите забавяне към програмата Python, за да позволите на съдържанието на страницата да се зареди напълно. Този пример използва забавяне от 15 секунди, но можете да експериментирате и да изберете подходящо забавяне за вашите обстоятелства.

3. Селенов модул

Selenium може да автоматизира процеса на взаимодействие с мрежата. Можете да го използвате, за да контролирате копие на уеб браузър, да отворите страницата с тенденции и да я превъртите надолу. За да инсталирате Selenium във вашата Python среда, отворете вашия Терминал и изпълниpip инсталирайте селен.

4. Уеб драйвер

Използвайте уеб драйвер в комбинация със Selenium за взаимодействие с браузъра. Налични са различни уеб драйвери в зависимост от браузъра, който искате да автоматизирате. За тази компилация използвайте популярния браузър Google Chrome. За да инсталирате уеб драйвера за Chrome:

  1. Проверете версията на браузъра, който използвате, като посетите Меню (3 точки) > Помощ>Относно Google Chrome.
  2. Обърнете внимание на версията на браузъра; в този случай това е 106.0.5249.62.
  3. Отидете до вашия Терминал и тип pip инсталирайте chromedriver-binary==номер_на_версия:
    пип Инсталирай chromedriver-двоичен==106.0.5249.62
    Ако няма съответстваща версия, pip ще ви покаже списък с наличните; изберете този, който е най-близо до вашата версия на chrome.

Как да изградите Twitter Scraper

Следвайте тези стъпки, за да изградите своята програма и да получите тенденциозни хаштагове в реално време. Можете да намерите пълния изходен код тук GitHub хранилище.

  1. Импортирайте необходимите модули в средата на Python.
    # импортиране на необходимите модули
    от селен импортиране уебдрайвер
    отселен.webdriver.често срещани.отимпортиранеот
    импортиране chromedriver_binary
    импортиране време
    импортиране панди като пд
  2. Създайте обект за инициализиране на ChromeDriver и стартиране на браузъра Google Chrome с помощта на уебдрайвер. Chrome() функция.
    # отворете браузъра google chrome
    браузър = уебдрайвер. Chrome()
  3. Отворете набиращата популярност страница на Twitter, като предадете нейния URL адрес на получи() функция.
    # отворете актуалната страница на Twitter
    browser.get('https://twitter.com/explore/tabs/trending')
  4. Приложете забавяне, така че съдържанието на страницата да се зареди напълно.
    # забавяне за зареждане на съдържанието на страницата
    време.сън(15)
  5. Създайте празен списък за съхраняване на хаштаговете и декларирайте цикъл, който се изпълнява от 3 до 13, за да съответства на променливата в XPath израза от преди.
    # инициализиране на списък за съхраняване на актуални теми и хаштагове
    trending_topic_content=[]

    # събирайте теми и хаштагове на актуалната страница на Twitter
    за i в диапазон (3,13):

  6. Използвай find_element() функция и подайте селектора XPath, за да получите тенденциозните теми и хаштагове в Twitter:
    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.добавете(trending_topic.текст)
  7. Създайте празен списък, за да съхранявате всички URL адреси и декларирайте цикъл, който преминава през всички хаштагове.
    # създайте URL адреси, като използвате събраните хаштагове
    urls=[]
    за мен в trending_topic_content:
    Използвайте оператора за разделяне, за да пропуснете хаштага, за да създадете неговия URL адрес и да замените интервалите с URL кодиране, %20. Добавете връзките към списъка.
    ако i.startswith("#"):
    i = i[1:]
    url='https://twitter.com/search? q=%23' + аз + '&src=trend_click'
    друго:
    url = 'https://twitter.com/search? q=' + аз + '&src=trend_click'
    url = url.replace("", "%20")
    URL адреси.добавете(URL адрес)
  8. Създайте двойка ключ-стойност Речник с ключове като хаштагове и стойности като техните URL адреси.
    # създайте речник, който има хештаг и URL адреси
    dic={'HashTag':trending_topic_content,'URL адрес':urls}
  9. Преобразувайте неструктурирания речник в табличен DataFrame.
    # конвертирайте речника в рамка с данни в pandas
    df=pd. DataFrame (dic)
    печат(df)
  10. Запазете DataFrame в CSV файл, който можете да видите в Microsoft Excel или да обработите допълнително.
    # конвертирайте рамката с данни във формат на стойност, разделена със запетая, без серийни номера
    df.to_csv("Twitter_HashTags.csv",index=False)

Получете ценна информация с помощта на уеб скрапинг

Уеб сканирането е мощен метод за получаване на желаните данни и анализирането им, за да се вземат решения. Beautiful Soup е впечатляваща библиотека, която можете да инсталирате и използвате за изчерпване на данни от всеки HTML или XML файл с помощта на Python.

С това можете да претърсите интернет, за да получите новинарски заглавия в реално време, цени на продукти, спортни резултати, стойност на акциите и др.

Изстържете уебсайт с този красив урок за супа Python

Прочетете Напред

ДялTweetДялелектронна поща

Свързани теми

  • Програмиране
  • Програмиране
  • Python
  • Уеб разработка
  • Уеб скрапинг
  • Twitter

За автора

Сай Ашиш Кончада (3 публикувани статии)

Сай Ашиш е Full Stack разработчик с опит в индустрията в изграждането на уебсайтове и уеб приложения. Той обича да създава иновативни продукти и да пише проницателни статии за програмиране.

Още от Сай Ашиш Кончада

Коментирайте

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни сделки!

Щракнете тук, за да се абонирате

По жицата

популярни