【发布时间】:2018-11-18 17:23:24
【问题描述】:
我正在尝试使用以下 Python 代码从链接中获取培训列表:
from selenium import webdriver
url = 'https://www.cbtnuggets.com/search'
browser = webdriver.Chrome()
browser.get(url)
browser.implicitly_wait(30)
print(browser.find_element_by_tag_name("table").text)
browser.quit()
大多数情况下,我只是将表头作为输出:
课程名称培训师评级供应商 IT 路径技能水平
但是这个输出并不一致,一两次(在 20 次尝试中)打印了整个表格(列出了网页中的所有培训),但我无法获得一致的输出。
我在 30-60 秒之间调整了 implicitly_wait(30) 但没有解决。我还可以看到 AJAX 内容在 30 秒计时器内加载良好。
我的要求:
- 获取培训列表
- 还将每个培训页面的超链接添加到另一列中。例如表中的第一个培训有链接
https://www.cbtnuggets.com/it-training/isc2-cissp-2015
所以输出应该有以下表格标题
- 课程名称
- 培训师
- 评分
- 供应商
- IT 路径
- 技能水平
- 课程网址(从href标签中提取)
【问题讨论】:
标签: python python-3.x selenium-webdriver web-scraping