Как добавить селеновые твиты к диктовке? - PullRequest
0 голосов
/ 18 марта 2020

Моя цель - создать функцию, которая будет принимать хэштег, генерировать из него все твиты и добавлять их в словарь. Предпочтительно с автоматически генерируемыми идентификационными номерами (например, для l oop?) И значением, являющимся содержимым твита.

Выводит пустой словарь, поэтому я не уверен, где я ошибаюсь.

from selenium import webdriver
import time

tweet_dict = {}
def find_hashtags(hashtags):
    browser = webdriver.Chrome('/Users/Vaish/Downloads/chromedriver')
    browser.get('https://twitter.com/hashtag/' + hashtags + '?src=hash')
    browser.execute_script('window.scrollTo(0, 100000)')
    time.sleep(1.5)
    tweets = browser.find_elements_by_class_name('content')
    for tweeter in range(len(tweets)):
        print(tweets[tweeter].text)
        tweet_dict['tweeter_%s' % tweeter] = tweets[tweeter].text

find_hashtags('coronavirus')

OUTPUT : {}

1 Ответ

0 голосов
/ 19 марта 2020

Я могу порекомендовать вам использовать Twitter API для этой проблемы вместо Selenium.

Прежде всего, вы не сможете легко собирать текст через твиттер-интерфейс. Во-вторых, сбор данных через API намного быстрее, чем при использовании Selenium.

Наконец, в приведенном выше примере ваш локатор неверен. Вместо поиска content, вы должны искать местоположение каждого твита, что-то вроде

tweets = browser.find_elements_by_xpath("//div[./div[./div[./div[@lang | @article][./span]]]]")

Надеюсь, это поможет. Удачи!

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