如何将 Selenium 生成的推文附加到字典中?
How to append Selenium generated tweets to a dict?
我的目标是创建一个函数,该函数将接受一个主题标签,从中生成所有推文并将这些推文附加到字典中。最好使用自动生成的 ID 号(比如来自 for 循环?)并且值为推文内容。
它正在输出一个空字典,所以我不确定我哪里出错了。
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 : {}
我建议您使用 Twitter APIs 代替 Selenium 来解决这个问题。
首先,您将无法通过 Twitter 轻松收集文本 UI。其次,通过 API 收集数据比使用 Selenium 要快得多。
最后,在上面的示例中,您的定位器不正确。您应该搜索每条推文的位置,而不是搜索 content
,例如
tweets = browser.find_elements_by_xpath("//div[./div[./div[./div[@lang | @article][./span]]]]")
希望对您有所帮助。祝你好运!
我的目标是创建一个函数,该函数将接受一个主题标签,从中生成所有推文并将这些推文附加到字典中。最好使用自动生成的 ID 号(比如来自 for 循环?)并且值为推文内容。
它正在输出一个空字典,所以我不确定我哪里出错了。
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 : {}
我建议您使用 Twitter APIs 代替 Selenium 来解决这个问题。
首先,您将无法通过 Twitter 轻松收集文本 UI。其次,通过 API 收集数据比使用 Selenium 要快得多。
最后,在上面的示例中,您的定位器不正确。您应该搜索每条推文的位置,而不是搜索 content
,例如
tweets = browser.find_elements_by_xpath("//div[./div[./div[./div[@lang | @article][./span]]]]")
希望对您有所帮助。祝你好运!