【发布时间】:2020-11-12 01:48:38
【问题描述】:
推特上的所有话题都可以在这个link找到 我想用里面的每个子类别刮掉所有这些。
BeautifulSoup 在这里似乎没有用。我尝试使用 selenium,但我不知道如何匹配单击主类别后出现的 Xpath。
from selenium import webdriver
from selenium.common import exceptions
url = 'https://twitter.com/i/flow/topics_selector'
driver = webdriver.Chrome('absolute path to chromedriver')
driver.get(url)
driver.maximize_window()
main_topics = driver.find_elements_by_xpath('/html/body/div[1]/div/div/div[1]/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div[2]/div[2]/div/div/div/div/span')
topics = {}
for main_topic in main_topics[2:]:
print(main_topic.text.strip())
topics[main_topic.text.strip()] = {}
我知道我可以使用main_topics[3].click() 单击主类别,但我不知道如何才能递归地单击它们,直到我只找到右侧带有Follow 的类别。
【问题讨论】:
-
下面的答案对你有好处吗?
-
不,它给出了超时错误,而且它没有包含存储主题名称的代码,它只关注点击主题和子主题。
-
好的,我看看我能做什么
-
好的,谢谢您的关心。真的很感激。
-
我不使用 twitter。当我打开你的页面时,它什么也没显示。
标签: python selenium xpath web-scraping webdriverwait