Как парсить Twitter (X.com) — пошаговый гайд
30.10.2025


Palina Zabela
Content Manager, Octo Browser
На X.com можно отслеживать рыночные тренды и поведение потребителей по постам пользователей. Но у официального API платформы есть ограничения, поэтому специалисты по веб-скрейпингу собирают информацию из соцсети с помощью браузерной автоматизации. В этой статье мы расскажем, как скрейпить твиты, профили, поиск, ответы и таймлайны в X.com с использованием библиотеки Playwright и headless-браузера.
На X.com можно отслеживать рыночные тренды и поведение потребителей по постам пользователей. Но у официального API платформы есть ограничения, поэтому специалисты по веб-скрейпингу собирают информацию из соцсети с помощью браузерной автоматизации. В этой статье мы расскажем, как скрейпить твиты, профили, поиск, ответы и таймлайны в X.com с использованием библиотеки Playwright и headless-браузера.
Содержание
Зачем парсить Twitter (X.com)
Twitter — это источник данных о поведении пользователей, их взглядах, актуальных трендах. Благодаря скрейпингу X.com вы можете:
Анализировать конкурентов. Собирайте информацию из профилей прямых конкурентов в Twitter, чтобы отслеживать их маркетинговые стратегии, продуктовые анонсы и реакцию аудитории в реальном времени.
Искать тренды. Собирайте популярные в Twitter хештеги, чтобы быстро адаптировать свой контент или продукт под новые тренды.
Изучать потребителей. Скрейпинг отзывов, упоминаний бренда и ответов в Twitter позволяет понять болевые точки клиентов и их ожидания от продукта. Это помогает улучшать продукт и повышать продажи.
Правовые и этические аспекты
X.com запрещает скрейпить данные из соцсети без разрешения. Нарушение этих правил может привести к блокировке аккаунта и IP-адреса. Но судебная практика, в частности в США, признает скрейпинг общедоступных данных законным. Например, в 2022 году Девятый окружной апелляционный суд США подтвердил, что скрейпинг общедоступной информации не нарушает закон о компьютерном мошенничестве и злоупотреблениях (CFAA).
Чтобы обезопасить себя, лучше:
Скрейпить только публично доступные данные.
Не скрейпить закрытые профили и личные сообщения в Twitter.
Соблюдать разрешенную скорость запросов при скрейпинге, чтобы не перегружать серверы во время скрейпинга X.com.
Обход блокировок X.com
Системы безопасности X.com анализируют поведение пользователей по многим параметрам. Поэтому для максимальной защиты от блокировки за веб-скрейпинг используйте все возможные способы:
Делайте адекватные паузы между запросами во время скрейпинга. Важно не только не перегружать серверы X.com, но и делать случайные промежутки между запросами, чтобы они выглядели, как будто их делает реальный человек.
Используйте качественные прокси. Системы безопасности могут заблокировать IP-адрес, с которого приходит слишком много запросов. Поэтому для безопасного скрейпинга используйте прокси и ограничьте число запросов с одного адреса.
Используйте антидетект-браузер. Twitter идентифицирует пользователей не только по их поведению и IP-адресам, но и по цифровым отпечаткам — уникальным наборам десятков параметров устройства. Фингерпринт включает десятки настроек: от версии ОС, геолокации, часового пояса и языков до установленных шрифтов и расширений. Поэтому при скрейпинге используйте не только прокси, но и антидетект-браузер. В нем можно создавать виртуальные профили с разными фингерпринтами, каждый из которых будет выглядеть для X.com как отдельный пользователь, а не один и тот же скрейпинг-бот.
Важно: используйте отдельный виртуальный профиль для каждого аккаунта на X.com и подключайте к ним прокси с разными IP-адресами. Это нужно, чтобы система безопасности Twitter не связала ваши аккаунты по одним и тем же настройкам устройства или IP и не блокировала вас за скрейпинг.
Прогревайте профили. Чтобы Twitter доверял вашим аккаунтам, у них должны быть куки. Если вы регистрируетесь в соцсети с нуля, прогрейте виртуальный профиль через куки-робот Octo Browser. А если для скрейпинга вы логинитесь в уже существующие аккаунты на X.com, выгрузите куки из прошлого браузера и загрузите в Octo.
Как парсить твиты
Чтобы скрейпить посты из X.com, нужно загружать веб-страницы через headless-режим браузера, например Octo, и перехватывать фоновые запросы. Вот как выглядит скрейпинг твитов с помощью опенсорсной бибилиотеки Playwright:
from playwright.sync_api import sync_playwright
def scrape_tweet(url: str) -> dict:
"""
Scrape a single tweet page for Tweet thread e.g.:
https://twitter.com/Scrapfly_dev/status/1667013143904567296
Return parent tweet, reply tweets and recommended tweets
"""
_xhr_calls = []
def intercept_response(response):
"""capture all background requests and save them"""
# we can extract details from background requests
if response.request.resource_type == "xhr":
_xhr_calls.append(response)
return response
with sync_playwright() as pw:
browser = pw.chromium.launch(headless=False)
context = browser.new_context(viewport={"width": 1920, "height": 1080})
page = context.new_page()
# enable background request intercepting:
page.on("response", intercept_response)
# go to url and wait for the page to load
page.goto(url)
page.wait_for_selector("[data-testid='tweet']")
# find all tweet background requests:
tweet_calls = [f for f in _xhr_calls if "TweetResultByRestId" in f.url]
for xhr in tweet_calls:
data = xhr.json()
return data['data']['tweetResult']['result']
if __name__ == "__main__": print(scrape_tweet("https://twitter.com/Scrapfly_dev/status/1664267318053179398"))
Скрипт загружает твит через headless-браузер и перехватывает фоновые запросы. Затем фильтрует те, которые содержат данные твита.
Обратите внимание: Для скрейпинга нужно дождаться, когда твиты появятся на HTML-странице. Это знак, что фоновые запросы завершены.
Как парсить профили
Скрейпить профили пользователей X.com можно так же, как твиты: через захват фоновых запросов в headless-браузере. Для этого нужно получить метаданные по следующему алгоритму:
Залогиниться в профиле Twitter.
Зайти на страницу пользователя на X.com.
Извлечь имя, описание, число подписчиков, дату создания аккаунта.
Добавить задержку, чтобы Twitter не заблокировал скрейпер за подозрительную активность.
Как парсить поиск, ответы и таймлайны
С помощью библиотеки Playwright можно скрейпить даже динамические разделы X.com:
Поиск. Скрипт имитирует ввод поискового запроса в строку поиска Twitter и нажимает кнопку Enter. Затем он скроллит и извлекает данные, чтобы скрейпить максимально большое число релевантных постов по ключевому слову.
Ответы. Для получения ответов к конкретному посту Playwright переходит на страницу этого поста. Скрипт фокусируется на области комментариев, скроллит для подгрузки всей ветки и скрейпит текст ответов и имена их авторов.
Таймлайны. Скрипт переходит на главную страницу профиля и циклически скроллит, чтобы скрейпить все недавние посты пользователя.
Хранение и экспорт данных
После скрейпинга нужно структурировать собранную информацию. Playwright извлекает информацию из HTML, поэтому на выходе вы получите список структурированных записей (например, словарей в Python). Их можно экспортировать в таблицу, например CSV или Excel. Это нужно, чтобы потом вы могли загрузить информацию в аналитические инструменты.
Анализ собранных данных
После скрейпинга данных их нужно проанализировать. В зависимости от ваших задач можно использовать разные методы:
Сентимент-анализ. Оцените эмоциональную окраску постов и ответов. Это поможет понять, как пользователи относятся к вашему продукту и конкурентам: положительно, отрицательно или нейтрально.
Кластеризация. Сгруппируйте собранные посты по темам. Например, для продуктовой компании группы могут выглядеть так: «жалобы на доставку», «хвалебные отзывы о продукте», «запросы на улучшение».
Идентификация инфлюенсеров. Найдите пользователей с большим числом подписчиков и высокой вовлеченностью, которые обсуждают вашу нишу. Впоследствии вы можете наладить с ними сотрудничество и сделать их голосом бренда.
FAQ
Законно ли парсить Twitter (X.com)?
Сам по себе скрейпинг публичных данных не является незаконным. Однако X.com запрещает его. Технически вы можете скрейпить, но Twitter имеет право заблокировать ваш аккаунт или IP-адрес за нарушение правил платформы.
Можно ли парсить Twitter с помощью Python?
Да, Python — это популярный язык программирования для автоматизации веб-скрейпинга. Вы можете скрейпить через такие библиотеки, как Playwright. Они помогают обходить ограничения официального Twitter API.
Как парсить Twitter и не получить блокировку?
Чтобы снизить риски блокировки за веб-скрейпинг, нужно:
Использовать прокси.
Использовать антидетект-браузер, например Octo Browser, для создания профилей с разными цифровыми отпечатками, чтобы системы безопасности X.com не могли идентифицировать пользователя.
Добавлять случайные, человекоподобные задержки между запросами.
Сохранять куки в антидетект-браузере.
Зачем парсить Twitter (X.com)
Twitter — это источник данных о поведении пользователей, их взглядах, актуальных трендах. Благодаря скрейпингу X.com вы можете:
Анализировать конкурентов. Собирайте информацию из профилей прямых конкурентов в Twitter, чтобы отслеживать их маркетинговые стратегии, продуктовые анонсы и реакцию аудитории в реальном времени.
Искать тренды. Собирайте популярные в Twitter хештеги, чтобы быстро адаптировать свой контент или продукт под новые тренды.
Изучать потребителей. Скрейпинг отзывов, упоминаний бренда и ответов в Twitter позволяет понять болевые точки клиентов и их ожидания от продукта. Это помогает улучшать продукт и повышать продажи.
Правовые и этические аспекты
X.com запрещает скрейпить данные из соцсети без разрешения. Нарушение этих правил может привести к блокировке аккаунта и IP-адреса. Но судебная практика, в частности в США, признает скрейпинг общедоступных данных законным. Например, в 2022 году Девятый окружной апелляционный суд США подтвердил, что скрейпинг общедоступной информации не нарушает закон о компьютерном мошенничестве и злоупотреблениях (CFAA).
Чтобы обезопасить себя, лучше:
Скрейпить только публично доступные данные.
Не скрейпить закрытые профили и личные сообщения в Twitter.
Соблюдать разрешенную скорость запросов при скрейпинге, чтобы не перегружать серверы во время скрейпинга X.com.
Обход блокировок X.com
Системы безопасности X.com анализируют поведение пользователей по многим параметрам. Поэтому для максимальной защиты от блокировки за веб-скрейпинг используйте все возможные способы:
Делайте адекватные паузы между запросами во время скрейпинга. Важно не только не перегружать серверы X.com, но и делать случайные промежутки между запросами, чтобы они выглядели, как будто их делает реальный человек.
Используйте качественные прокси. Системы безопасности могут заблокировать IP-адрес, с которого приходит слишком много запросов. Поэтому для безопасного скрейпинга используйте прокси и ограничьте число запросов с одного адреса.
Используйте антидетект-браузер. Twitter идентифицирует пользователей не только по их поведению и IP-адресам, но и по цифровым отпечаткам — уникальным наборам десятков параметров устройства. Фингерпринт включает десятки настроек: от версии ОС, геолокации, часового пояса и языков до установленных шрифтов и расширений. Поэтому при скрейпинге используйте не только прокси, но и антидетект-браузер. В нем можно создавать виртуальные профили с разными фингерпринтами, каждый из которых будет выглядеть для X.com как отдельный пользователь, а не один и тот же скрейпинг-бот.
Важно: используйте отдельный виртуальный профиль для каждого аккаунта на X.com и подключайте к ним прокси с разными IP-адресами. Это нужно, чтобы система безопасности Twitter не связала ваши аккаунты по одним и тем же настройкам устройства или IP и не блокировала вас за скрейпинг.
Прогревайте профили. Чтобы Twitter доверял вашим аккаунтам, у них должны быть куки. Если вы регистрируетесь в соцсети с нуля, прогрейте виртуальный профиль через куки-робот Octo Browser. А если для скрейпинга вы логинитесь в уже существующие аккаунты на X.com, выгрузите куки из прошлого браузера и загрузите в Octo.
Как парсить твиты
Чтобы скрейпить посты из X.com, нужно загружать веб-страницы через headless-режим браузера, например Octo, и перехватывать фоновые запросы. Вот как выглядит скрейпинг твитов с помощью опенсорсной бибилиотеки Playwright:
from playwright.sync_api import sync_playwright
def scrape_tweet(url: str) -> dict:
"""
Scrape a single tweet page for Tweet thread e.g.:
https://twitter.com/Scrapfly_dev/status/1667013143904567296
Return parent tweet, reply tweets and recommended tweets
"""
_xhr_calls = []
def intercept_response(response):
"""capture all background requests and save them"""
# we can extract details from background requests
if response.request.resource_type == "xhr":
_xhr_calls.append(response)
return response
with sync_playwright() as pw:
browser = pw.chromium.launch(headless=False)
context = browser.new_context(viewport={"width": 1920, "height": 1080})
page = context.new_page()
# enable background request intercepting:
page.on("response", intercept_response)
# go to url and wait for the page to load
page.goto(url)
page.wait_for_selector("[data-testid='tweet']")
# find all tweet background requests:
tweet_calls = [f for f in _xhr_calls if "TweetResultByRestId" in f.url]
for xhr in tweet_calls:
data = xhr.json()
return data['data']['tweetResult']['result']
if __name__ == "__main__": print(scrape_tweet("https://twitter.com/Scrapfly_dev/status/1664267318053179398"))
Скрипт загружает твит через headless-браузер и перехватывает фоновые запросы. Затем фильтрует те, которые содержат данные твита.
Обратите внимание: Для скрейпинга нужно дождаться, когда твиты появятся на HTML-странице. Это знак, что фоновые запросы завершены.
Как парсить профили
Скрейпить профили пользователей X.com можно так же, как твиты: через захват фоновых запросов в headless-браузере. Для этого нужно получить метаданные по следующему алгоритму:
Залогиниться в профиле Twitter.
Зайти на страницу пользователя на X.com.
Извлечь имя, описание, число подписчиков, дату создания аккаунта.
Добавить задержку, чтобы Twitter не заблокировал скрейпер за подозрительную активность.
Как парсить поиск, ответы и таймлайны
С помощью библиотеки Playwright можно скрейпить даже динамические разделы X.com:
Поиск. Скрипт имитирует ввод поискового запроса в строку поиска Twitter и нажимает кнопку Enter. Затем он скроллит и извлекает данные, чтобы скрейпить максимально большое число релевантных постов по ключевому слову.
Ответы. Для получения ответов к конкретному посту Playwright переходит на страницу этого поста. Скрипт фокусируется на области комментариев, скроллит для подгрузки всей ветки и скрейпит текст ответов и имена их авторов.
Таймлайны. Скрипт переходит на главную страницу профиля и циклически скроллит, чтобы скрейпить все недавние посты пользователя.
Хранение и экспорт данных
После скрейпинга нужно структурировать собранную информацию. Playwright извлекает информацию из HTML, поэтому на выходе вы получите список структурированных записей (например, словарей в Python). Их можно экспортировать в таблицу, например CSV или Excel. Это нужно, чтобы потом вы могли загрузить информацию в аналитические инструменты.
Анализ собранных данных
После скрейпинга данных их нужно проанализировать. В зависимости от ваших задач можно использовать разные методы:
Сентимент-анализ. Оцените эмоциональную окраску постов и ответов. Это поможет понять, как пользователи относятся к вашему продукту и конкурентам: положительно, отрицательно или нейтрально.
Кластеризация. Сгруппируйте собранные посты по темам. Например, для продуктовой компании группы могут выглядеть так: «жалобы на доставку», «хвалебные отзывы о продукте», «запросы на улучшение».
Идентификация инфлюенсеров. Найдите пользователей с большим числом подписчиков и высокой вовлеченностью, которые обсуждают вашу нишу. Впоследствии вы можете наладить с ними сотрудничество и сделать их голосом бренда.
FAQ
Законно ли парсить Twitter (X.com)?
Сам по себе скрейпинг публичных данных не является незаконным. Однако X.com запрещает его. Технически вы можете скрейпить, но Twitter имеет право заблокировать ваш аккаунт или IP-адрес за нарушение правил платформы.
Можно ли парсить Twitter с помощью Python?
Да, Python — это популярный язык программирования для автоматизации веб-скрейпинга. Вы можете скрейпить через такие библиотеки, как Playwright. Они помогают обходить ограничения официального Twitter API.
Как парсить Twitter и не получить блокировку?
Чтобы снизить риски блокировки за веб-скрейпинг, нужно:
Использовать прокси.
Использовать антидетект-браузер, например Octo Browser, для создания профилей с разными цифровыми отпечатками, чтобы системы безопасности X.com не могли идентифицировать пользователя.
Добавлять случайные, человекоподобные задержки между запросами.
Сохранять куки в антидетект-браузере.
Следите за последними новостями Octo Browser
Нажимая кнопку, вы соглашаетесь с нашей политикой конфиденциальности.
Следите за последними новостями Octo Browser
Нажимая кнопку, вы соглашаетесь с нашей политикой конфиденциальности.
Следите за последними новостями Octo Browser
Нажимая кнопку, вы соглашаетесь с нашей политикой конфиденциальности.

Присоединяйтесь к Octo Browser сейчас
Вы можете обращаться за помощью к нашим специалистам службы поддержки в чате в любое время.

Присоединяйтесь к Octo Browser сейчас
Вы можете обращаться за помощью к нашим специалистам службы поддержки в чате в любое время.
Присоединяйтесь к Octo Browser сейчас
Вы можете обращаться за помощью к нашим специалистам службы поддержки в чате в любое время.


