python-3.x - Python - 它被认为更适合抓取 : selenium or beautifulsoup with selenium?

标签 python-3.x selenium selenium-webdriver beautifulsoup webdriver

此问题适用于 Win10 上的 Python 3.6.3、bs4 和 Selenium 3.8。

我正在尝试抓取具有动态内容的页面。我想要抓取的是数字和文本(例如来自 http://www.oddsportal.com )。据我了解,使用 requests+beautifulsoup 无法完成这项工作,因为动态内容将被隐藏。所以我必须使用其他工具,例如 selenium webdriver。

然后,鉴于我无论如何都会使用 selenium webdriver,您是否建议忽略 beautifulsoup 并坚持使用 selenium webdriver 功能,例如

elem = driver.find_element_by_name("q"))

或者使用selenium+beautifulsoup是否被认为是更好的做法?

您对这两条 route 哪一条能给我更方便的功能有什么意见吗?

最佳答案

美丽汤

Beautifulsoup是一个强大的网页抓取工具。它使用 urllib.request Python 库。 urllib.request对于从静态页面提取数据非常强大。

Selenium

Selenium是目前最广泛接受和最有效的Web 自动化工具。 Selenium 支持与动态页面、内容和元素交互。

结论

要创建一个强大而高效的框架来抓取具有动态内容的页面,您必须集成 SeleniumBeautifulsoup 在你的框架中。通过 Selenium 浏览动态元素并与之交互,并通过 Beautifulsoup

高效抓取内容

示例

这是一个example使用 SeleniumBeautifulsoup 进行抓取

关于python-3.x - Python - 它被认为更适合抓取 : selenium or beautifulsoup with selenium?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47983495/

相关文章:

java - 在执行期间检查 WebDriver 测试中的加载时间

python | Selenium |继续输出页面源代码,而不是我手动检查元素时看到的内容

java - 我如何从我的类中启动构造函数?

python - 如何使用 Selenium 和 xpath 或其他替代方案从 url 获取包含动态数据的表?

java - 如何使用 selenium java 将鼠标悬停在圆环图弧上?

python - pysnmp 示例程序中的 asyncio "Task was destroyed but it is pending!"

python matplotlib plotfile显式使用 float

python - 防止 Firefox 附加组件第一页显示

python - Jaden 套管字符串 : How to return a sentence string with capitalised words?

python-3.x - Gensim v3.6.0 Word2Vec DeprecationWarning : Call to deprecated `wv` (Attribute will be removed in 4. 0.0,使用 self 代替)