Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор.
Изтриването на HTML може да бъде трудно, така че се уверете, че разбирате този процес с малко практика на Python.
Twitter е една от най-влиятелните социални медийни платформи, съществували някога. Милиони хора, включително топ политици, знаменитости и изпълнителни директори, използват платформата, за да споделят своите мисли всеки ден.
Разделът с тенденции е едно от най-добрите места за намиране на новини в реално време и настроения в социалните медии. Можете да анализирате и използвате тези данни, за да планирате реклами на марката, да провеждате кампании и да увеличавате продажбите на пъти. Но как можете да получите десетте най-популярни хаштага в Twitter?
Процесът на изграждане на алгоритъм
Първата стъпка към изграждането на която и да е програма е да се отбележат и разберат стъпките, необходими за изграждането на Twitter scraper. Те са:
- Отворете Google Chrome.
- Посетете актуалната страница на Twitter.
- Съберете хаштаговете и съответната им връзка към страницата.
- Запазете данните в електронна таблица.
Това служи като алгоритъм на постановката на проблема.
Разбиране на уеб страницата на Twitter
Трябва да знаете как една уеб страница маркира своите данни, преди да можете да ги извлечете. Помага много, ако разбирате добре основите на HTML и CSS.
Следвайте тези стъпки, за да разберете как Twitter представлява актуален хаштаг и неговия URL адрес:
- Посетете Популярната страница на Twitter. Можете също да навигирате до Twitter.com → Разгледайте → Тенденция за да го видите.
- Проверете основната колона с помощта на Chrome Dev Tools. Отидете на Меню (3 точки)>Още инструменти >Инструменти за разработчици и задръжте инструмента за избор на елемент върху тенденцията.
- Хронологията на тенденциите е a див с ан ария-етикет атрибут, чиято стойност е „Хронология: Разгледайте“. Задръжте курсора на мишката над маркировката в Елементи панел, за да разберете по-добре структурата на страницата. Друг див съхранява актуалния хаштаг/тема. Използвайте този div като брояч и повторете всички div в страницата, съдържаща актуалната тема/хаштаг. Съдържанието се съхранява в a педя или няколко span елемента. Наблюдавайте отворения раздел и отбележете йерархията. Можете да използвате това, за да конструирате XPath израз. Изразът XPath за този конкретен елемент е:
Итерация и насочване към div[3], div[4], div[5] и т.н. За първите десет хаштага броячът варира от 3 до 13. Обобщеният XPath става:'//div[@aria-label="Хронология: Разгледайте"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[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
Можеш използвайте класа 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 инсталирайте chromedriver-binary==номер_на_версия:
Ако няма съответстваща версия, pip ще ви покаже списък с наличните; изберете този, който е най-близо до вашата версия на chrome.пип Инсталирай chromedriver-двоичен==106.0.5249.62
Как да изградите Twitter Scraper
Следвайте тези стъпки, за да изградите своята програма и да получите тенденциозни хаштагове в реално време. Можете да намерите пълния изходен код тук GitHub хранилище.
- Импортирайте необходимите модули в средата на Python.
# импортиране на необходимите модули
от селен импортиране уебдрайвер
отселен.webdriver.често срещани.отимпортиранеот
импортиране chromedriver_binary
импортиране време
импортиране панди като пд - Създайте обект за инициализиране на ChromeDriver и стартиране на браузъра Google Chrome с помощта на уебдрайвер. Chrome() функция.
# отворете браузъра google chrome
браузър = уебдрайвер. Chrome() - Отворете набиращата популярност страница на Twitter, като предадете нейния URL адрес на получи() функция.
# отворете актуалната страница на Twitter
browser.get('https://twitter.com/explore/tabs/trending') - Приложете забавяне, така че съдържанието на страницата да се зареди напълно.
# забавяне за зареждане на съдържанието на страницата
време.сън(15) - Създайте празен списък за съхраняване на хаштаговете и декларирайте цикъл, който се изпълнява от 3 до 13, за да съответства на променливата в XPath израза от преди.
# инициализиране на списък за съхраняване на актуални теми и хаштагове
trending_topic_content=[]# събирайте теми и хаштагове на актуалната страница на Twitter
за i в диапазон (3,13): - Използвай 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.текст) - Създайте празен списък, за да съхранявате всички URL адреси и декларирайте цикъл, който преминава през всички хаштагове.
Използвайте оператора за разделяне, за да пропуснете хаштага, за да създадете неговия URL адрес и да замените интервалите с URL кодиране, %20. Добавете връзките към списъка.# създайте URL адреси, като използвате събраните хаштагове
urls=[]
за мен в trending_topic_content:ако 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 адрес) - Създайте двойка ключ-стойност Речник с ключове като хаштагове и стойности като техните URL адреси.
# създайте речник, който има хештаг и URL адреси
dic={'HashTag':trending_topic_content,'URL адрес':urls} - Преобразувайте неструктурирания речник в табличен DataFrame.
# конвертирайте речника в рамка с данни в pandas
df=pd. DataFrame (dic)
печат(df) - Запазете DataFrame в CSV файл, който можете да видите в Microsoft Excel или да обработите допълнително.
# конвертирайте рамката с данни във формат на стойност, разделена със запетая, без серийни номера
df.to_csv("Twitter_HashTags.csv",index=False)
Получете ценна информация с помощта на уеб скрапинг
Уеб сканирането е мощен метод за получаване на желаните данни и анализирането им, за да се вземат решения. Beautiful Soup е впечатляваща библиотека, която можете да инсталирате и използвате за изчерпване на данни от всеки HTML или XML файл с помощта на Python.
С това можете да претърсите интернет, за да получите новинарски заглавия в реално време, цени на продукти, спортни резултати, стойност на акциите и др.