【发布时间】:2021-02-02 12:52:37
【问题描述】:
我正在尝试使用 Selenium/Python 从链接列表中挖掘大量文本。
在这个例子中,我只抓取了其中一个页面并成功抓取了全文:
page = 'https://xxxxxx.net/xxxxx/September%202020/2020-09-24'
driver = webdriver.Firefox()
driver.get(page)
elements = driver.find_element_by_class_name('text').text
elements
然后,当我尝试遍历整个链接列表(此页面上的所有日常链接:https://overrustlelogs.net/Destinygg%20chatlog/September%202020)(使用与从单个页面抓取文本相同的方法)时,它不是抓取全文:
for i in tqdm(chat_links):
driver.get(i)
#driver.implicitly_wait(200)
elements = driver.find_element_by_class_name('text').text
#elements = driver.find_element_by_xpath('/html/body/main/div[1]/div[1]').text
#elements = elements.text
temp={'elements':elements}
chat_text.append(temp)
driver.close()
聊天文本
我的想法是它可能没有机会加载整个内容,但它可以在单个页面上运行。此外,driver.get 方法似乎意味着加载整个给定页面。
有什么想法吗?谢谢,非常感谢。
【问题讨论】:
-
我建议使用 requests 或 driver.page_source 离线工作(我的意思是 html 解析)
-
@CeliusStingher 你能告诉我那会是什么样子吗?谢谢
-
driver.get(url)之后可以使用source = driver.page_source。之后,您可以使用 BeautifulSoup 解析它并使用 `.find_all('text') ,这将返回一个列表,其中包含 html 中所有出现的文本 -
@CaseyCushing : 请发布相关的 HTML 和您的预期输出以获得更好的响应?
-
@ggorlen 我已经在此页面上获得了每天的日志链接。我正在尝试遍历它们并获取文本。这有帮助吗?谢谢! overrustlelogs.net/Destinygg%20chatlog/September%202020
标签: python selenium web-scraping css-selectors webdriverwait