Как получить все твиты с помощью python selenium?

#python #selenium #firefox #twitter #webdriver

#python #селен #firefox #Twitter #webdriver

Вопрос:

Я хочу, чтобы все твиты постоянно записывались от пользователя. Для этого я написал простой скрипт на 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. Используйте Twitter API, очень легко получать твиты с помощью API и python. Более надежный и точный твит и его данные.

2. alexkras.com/how-to-get-user-feed-with-twitter-api-and-python и stackabuse.com/accessing-the-twitter-api-with-python

Ответ №1:

Вместо этого я бы рекомендовал twitter API (обратите внимание на screen_name и количество):

 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
 

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

Ссылка на API разработчика Twitter

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

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

1. tweets = api.GetUserTimeline(screen_name=»ErhanErkut», count = 20) в этой строке: для подсчета записывается количество последних твитов?

2. да, последний, смотрите отметку времени при печати твитов, это должно быть что-то вроде Created=Wed Apr 17 16:04:11 0000 2019 . Я запустил приведенный выше код и получил твиты, в которых я вижу поле Created даты и времени.