Как получить все твиты с селеном питона? - PullRequest
0 голосов
/ 17 апреля 2019

Я хочу, чтобы все твиты все время писались от пользователя.Я написал для этого простой скрипт на Python, но проблема в том, что когда браузер открывает страницу и получает твиты из исходного кода страницы, он выдает только твиты с мертвой страницы.Мертвая страница означает, что мы не можем двигаться в ней.Показывает только запрошенный URL.Пользователи Twitter знают, что страницы динамические.Таким образом, страница обновляется по мере ее уменьшения.То, что я хочу, - это то, что Selenium самостоятельно убирает страницу и выводит твиты до конца.

это мой код:

from selenium import webdriver
from bs4 import BeautifulSoup

driver_path = "C:\\Users\\Muhammd\\Desktop\\geckodriver.exe"

browser = webdriver.Firefox(executable_path= driver_path)
browser.get("https://twitter.com/ErhanErkut")
soup = BeautifulSoup(browser.page_source, 'html.parser')
tweets = [p.text for p in soup.findAll('p', class_ = 'tweet-text')]
for i in tweets:
    print(i)

1 Ответ

4 голосов
/ 17 апреля 2019

Я бы порекомендовал Twitter API вместо этого (обратите внимание на имя_ экрана и count ):

import twitter
api = twitter.Api(consumer_key='your-twitter app consumer key',
  consumer_secret='your secret',
  access_token_key='XXXX',
  access_token_secret='XXXXXX')

#print(api.VerifyCredentials())

tweets = api.GetUserTimeline(screen_name="ErhanErkut", count=20)

print(tweets)

Чтобы запустить вышеуказанную программу, сначала установите:

pip install python-twitter

И после этого создайте твиттер app на https://developer.twitter.com/. В приложении Twitter вы можете видеть ключи потребителей и генерировать токены доступа.

Справочник по API разработчика Twitter

Вы можете загрузить большие данные, используя Twitter API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...